var doc = app.documents[0]; var msp = doc.masterSpreads; var reg = /ほげ/; //検索ワード(/正規表現/か "文字列" とする) var rep = "ぴよ"; //置換ワード("文字列" のみ) for (var i=0; i<msp.length; i++) { msp[i].baseName = msp[i].baseName.replace(reg, rep); }
MasterSpread.name
プロパティはreadonlyで、MasterSpread.baseName
プロパティはstring型で変更可能。
詳しく調べてないけどどういう仕様なのかな。
JavaScriptの正規表現を知らない人向けに一応説明しておくと、
スラッシュで囲む表現(/.../
)で正規表現リテラルとなり、後ろにフラグを取ることができます。
フラグを何も指定しないと、先頭から検索して1回見つかればおしまいになる。
でも/.../g
としてgフラグ(グローバルフラグ)を付けておくと、複数回マッチさせられる。
/.../i
とiフラグ(イグノアケースフラグ)を付けておくと、大文字・小文字を勘案せずにマッチさせられる。
あとmフラグ(マルチラインフラグ)もあるんですけどこれはいいか。
で、フラグは同時に指定できるので、/hoge/gim
とかって指定ができます。まとめてマスターページの名前を変えることってあまりないとは思うんですけどね。