「このマスター…何ページに使われてるの?を解決」というタイトルで今月の初めにまとめていましたが、その後、Uske_S (id:uske_S) さんの「ScriptUIを少しだけ簡単に利用するモジュール」を使わせていただいたものが完成したのでまとめます。
uske-s.hatenablog.com
今回のまとめ
①ドキュメント内のマスターページを読み込む
②ドロップダウンリストでマスターページ名を表示し選択できるようにする
③指定したマスターが適用されているページを配列に格納
④適用されているページとそれが全部で何ページなのかをアラートで表示する
①ドキュメント内のマスターページを読み込む
これについては前回書いていますが再度載せておきます
var doc = app.activeDocument; var myMaster = doc.masterSpreads; var arr=[];//空の配列を用意 for(var i=0; i<myMaster.length; i++){ arr.push(myMaster[i].name) //配列arrにドキュメントに存在するマスターの名前を格納していく }
②ドロップダウンリストでマスターページ名を表示し選択できるようにする
ScriptUIについては上にリンクを貼ってますのでそちらよりご確認ください。
③指定したマスターが適用されているページを配列に格納
function myFunc(){ var arr2 = []; //空の配列を用意 var masName = mySUI[1].selection.text; /*mySUI[1]は使わせていただいたモジュールのコントロールタイプのうち 2番目にドロップダウンリストを使用しているので、 それの選択した内容にアクセスするためのものです*/ var count=0 //最終的に指定したマスターが適用されているページの総数も表示する for(var j=0; j<doc.pages.length; j++){ try{ if(doc.pages[j].appliedMaster.name ==masName){ //jページのマスターが指定したマスターだったとき arr2.push(j+1); //格納していく count++; } }catch (e) {} }