よろよろ帳

InDesign JavaScript 勉強中

idml書き出し

フォルダ内のinddデータと同階層にidmlを書き出します。

var dFol=Folder.selectDialog("フォルダを選択してください");
var fList=[];
findF(dFol);
for(var i=0; i<fList.length; i++){
    app.open(File(fList[i]));
    var Doc=app.activeDocument;
    var savePath =Doc.filePath.fsName+"/"+ Doc.name.replace(/\.indd$/i, ".idml");
    Doc.exportFile(ExportFormat.INDESIGN_MARKUP, savePath);
    Doc.close(SaveOptions.no);
    }

function findF(fol){
    var F=fol.getFiles();
    for(var i=0; i<F.length; i++){
        if(/^[^\.].+\.indd$/i.test(F[i].name)){//不可視ファイル避け
            fList.push(F[i].fsName);
            }
        if(F[i].constructor.name=="Folder"){
            findF(F[i]);
            }
        }
    }
alert ("done!");