DTP駆け込み寺

[ 返信 ]

Re^6: 選択テキストと同じ画像を配置

シンプルに...

選択したポイントテキストをファイル名とみなしてファイル(PSD形式)をポイントテキストの座標に指定幅(ww)で貼りこむスクリプト。
テキスト上では拡張子なし。
//---------------------
var docObj = app.activeDocument;
var objs=docObj.selection;

//配置オブジェクトの幅を指定。ポイント単位前提。この場合なら10mmの設定。
var ww=10/0.352778;

if(objs[0]!=null){

//画像の入っているフォルダを指定
var folder_name=Folder.selectDialog("フォルダを指定してください");
var xfolder=new File(folder_name);
//フォルダのパスを取得
var folder_path=xfolder.fsName;

for(var n=0;n<objs.length;n++){
//選択したオブジェクトのうち、ポイントテキストのみ対応
if(objs[n].kind==TextType.POINTTEXT){
var ob=objs[n].contents;
var b_box=objs[n].visibleBounds;

var f_name=new File(folder_path+"/"+ob+".psd");
var xx=b_box[1];
var yy=b_box[0];

Place_Object(docObj,f_name,xx,yy,ww,0);
}
}
}
else{
alert("テキストが選択されていません");
}

//ファイルf_nameを、(xx,yy)の座標にwwの幅で貼り込む。
//xhhが0以下の時、高さをwwに合せて変倍する。
//xhhがそれ以外のときは指定された値にする(→結果として、天地と左右で倍率が異なる可能性が高い)
function Place_Object(docObj,f_name,xx,yy,ww,xhh){
if(f_name.exists){
var im=docObj.placedItems.add() ;
im.file=f_name;
if(xhh<=0){
var w=im.width;
var h=im.height;
var scale=ww/w;
var hh=h*scale;
}
else{
var hh=xhh;
}
im.width=ww;
im.height=hh;
im.position=[yy,xx];
}
}

[19274] . (2017/06/29 Thu 11:34)

  1. [19266] 選択テキストと同じ画像を配置【IllustratorCS6】 take 2017/06/22 19:57
    1. [19267] Re: 選択テキストと同じ画像を配置 -e 2017/06/23 13:17
      1. [19268] Re^2: 選択テキストと同じ画像を配置 take 2017/06/23 14:59
        1. [19269] Re^3: 選択テキストと同じ画像を配置 -e 2017/06/23 16:33
          1. [19272] Re^4: 選択テキストと同じ画像を配置 take 2017/06/26 13:41
            1. [19273] Re^5: 選択テキストと同じ画像を配置 take 2017/06/28 16:26
              1. [19274] Re^6: 選択テキストと同じ画像を配置 . 2017/06/29 11:34