var actDoc = app.documents[0]; var mstSpr = actDoc.masterSpreads; for (var i=0; i<mstSpr.length; i++) { makeJSX(mstSpr[i].name+"_"+i); } function makeJSX(filename) { var F = new File("~/"+filename+".jsx"); var scpt = "var doc = app.documents[0];\n"; scpt += "var tgtMaster = $.fileName.match(/_([0-9]+)\\.jsx$/)[1];\n"; scpt += "app.activeWindow.activeSpread.appliedMaster = doc.masterSpreads[tgtMaster];"; F.open("w"); F.write(scpt); F.close(); };
ドキュメントを開いた状態でスクリプトを実行すると、ユーザーフォルダに「マスターページ名_インデックス.jsx」というスクリプトができます。
要するに前面ドキュメントのマスターページ名を抽出して、それを当てるためだけのスクリプトを生成します。
大したエラー処理をしてないのですが遊んでみてください。
ちなみに、下記の部分がスクリプト自動生成先のファイルパスになります。
var F = new File("~/"+filename+".jsx");
"~/desktop/"+filename+".jsx"
としてもらえばデスクトップだし、何ならInDesignのスクリプトフォルダを指定すれば……。