DTP駆け込み寺

No.19269へ返信

記事投稿フォーム
補助
送信

[ 返信 ]

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

色々とツッコミどころはありますが、とりあえずこれで動くと思います。(順番の入れ替えとfor変数名の変更のみです)
frames = app.activeDocument.selection;
var docObj = app.activeDocument;
foldername = Folder.selectDialog("フォルダを指定してください");
for(var f=0; f < frames.length; f++){
t_contents = frames[f].textRange.contents+".psd";
base_X = -700;
base_Y = 0;
startX = 0;
startY = 0;
w = 100; //
h = 100; //
maxCountX = 7;
maxCountY = 11;
boxHeight = 15;
x = startX;
y = startY;
cntX = 0;
cntY = 0;
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 (var 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;
cntX++;
if (cntX >= maxCountX)
{
cntX = 0;
x = startX;
y = y + h + boxHeight;
cntY++;
if (cntY >= maxCountY)
{
cntY = 0;
y = startY;
}
}
}
///////////////////////////////////
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();
///////////////////////////////////
}

[19269] -e (2017/06/23 Fri 16:33)