InDesign CS6自動化作戦の「画像をテキストフレームに自動的に読み込ませる」を参考にしました。
グループがあるとエラーが出ます。
再帰処理?はどのように書けばいいのでしょう。
var doc=app.activeDocument;
var actDocFolder = Folder(doc.filePath);
for(var i=0; i<doc.allGraphics.length; i++)
{
var imageObj=doc.allGraphics[i];
imageObj.parent.locked=true;//配置済み画像をロック、グループだとエラー
}
function setImage()
{
for (var i=0; i<doc.textFrames.length; i++)
{
var pname = doc.textFrames[i].contents;
if(pname.indexOf(".eps") > -1&&File(actDocFolder+ "/" + pname).exists)
{
doc.textFrames[i].place(File(actDocFolder+ "/" + pname));
}
}
}
setImage();
setImage();
setImage();//グループだと配置されない
for(var i=0; i<doc.allGraphics.length; i++)
{
var imageObj=doc.allGraphics[i];
if(imageObj.parent.locked)continue;
imageObj.fit(FitOptions.FILL_PROPORTIONALLY);
}
for(var i=0; i<doc.allGraphics.length; i++)
{
var imageObj=doc.allGraphics[i];
imageObj.parent.locked=false;
}
[18928] k (2016/10/30 Sun 13:37)