ひとまず簡単なテストで動作したので試してみてください。
4行目の depthValue = 3; というところで「何階層まで見る」か定義しているので
解釈違いがあったら適宜書き換えてください。
------------------
var folderObj = Folder.selectDialog("フォルダを選択してください");
var fileList = [];
var dirDepth = 1;
var depthValue = 3;
findIndd(folderObj, dirDepth);
alert(fileList.length + " 個のinddファイルが見つかりました");
for (var i = 0; i < fileList.length; i++){
fileObj = new File(fileList[i].fsName);
savePath = fileObj.fsName.replace(/\.indd$/i, ".pdf");
app.open(File(fileObj));
app.activeDocument.exportFile(ExportFormat.pdfType, savePath, false, "[最小ファイルサイズ]");
app.activeDocument.close(SaveOptions.no);
}
alert("完了");
function findIndd(dir, dep){
var files = dir.getFiles();
for(var i = 0; i < files.length; i++){
if(files[i].displayName.match(/\.indd$/i)){
fileList.push(files[i]);
continue;
}
if(dep < depthValue && files[i].constructor.name == "Folder"){
findIndd(files[i], dep + 1);
}
}
}
------------------
本来、フリーで公開されているスクリプトでも著作権の主張や
加工・二次配布の禁止(のお願い)など記載してある場合がありますが
tu-kazu.jpさんのサイトで特にそういう記載が見つけられなかったのと
元のスクリプトの原型がほとんど残らなかったので、まあいいかと…
[20602] (z-) (2021/08/20 Fri 14:25)