色々な方のスクリプトを参考に
イラレ上で選択しているテキストと同じファイル名の画像を
配置するスクリプトを作りました。
一つのテキストを選択している時は動作するのですが、
複数テキスト選択時に思ったように動作しません。
下記のt_contentsが複数の場合、それに連動して複数の画像を配置したいのですがどうすれば良いでしょうか?
frames = app.activeDocument.selection;
for(i=0; i < frames.length; i++){
t_contents = frames[i].textRange.contents+".psd";
// alert(t_contents);
base_X = -700;
base_Y = 0;
startX = 0;
startY = 0;
Y = 100; //
maxCountX = 7; /
maxCountY = 11;
boxHeight = 15;
x = startX;
y = startY;
docObj = app.activeDocument;
foldername = Folder.selectDialog("フォルダを指定してください");
if (foldername)
{
var text = [t_contents];
for (var j=0; j<text.length; j++)
{
fileList = foldername.getFiles(text[j]);
layoutImage(fileList);
}
}
function layoutImage(fileList)
{
for (i=0; i<fileList.length; i++)
{
pItem = docObj.placedItems.add();
fs = new File(fileList[i].fsName);
pItem.file = fs;
pItem.width = w;
pItem.height = h;
//pItem.embed();
pItem.position = new Array(base_X + x,base_Y - y);
x = x + w;
}
///////////////////////////////////
function setOriginalSizeH(){
var selObj = activeDocument.selection;
for (var i=0; i<selObj.length; i++){
if (selObj[i].file){
var filename = selObj[i].file;
var docObj = documents.add();
var pItem = docObj.placedItems.add();
pItem.file = filename;
var srcW = pItem.width;
var srcH = pItem.height;
docObj.close(SaveOptions.DONOTSAVECHANGES);
var h = selObj[i].height;
var aspect = h / srcH;
selObj[i].width = srcW * aspect;
}
}
}
setOriginalSizeH();
///////////////////////////////////
}
[19266] take (2017/06/22 Thu 19:57)