面付け用スクリプトに挑戦(4)
指定したページをアクティブにするスクリプトがわからない。
app.menuActions.item("次ページ").invoke();
は使えたけれど "activePage" の値は変わらないようだ。
なので指定ページをアクティブにする方法がいいな。
逆引きリファレンスを探しても見つけられない。
「Google先生!出番です」
キーワード:Indesign スクリプト ページ指定
でヒットした最初の項目が
oimohのブログ 指定したページを表示する
というもの。oimohさんありがとう。
2ページ目を表示するスクリプトとして例示されているのがこちら。
例)2ページ目を表示する。
app.activeWindow.activePage = app.activeDocument.pages.item(1);
1ページ目がpages.item(0)になるのかな。未だにこの0始まりが慣れることができない。
これはうまくいった。これで1ページ目から順に処理していけそうだ。
(function(){
app.menuActions.item("コピー").invoke();
var pLength = app.activeDocument.pages.length;
for( i = 1 ; i <pLength ; i++){
app.activeWindow.activePage = app.activeDocument.pages.item(i);
app.menuActions.item("元の位置にペースト").invoke();
}
})()
これでドキュメントの1ページ目で選択したオブジェクトを全ページ同位置にペーストできた。
まだまだ手探り状態だけど第一段階としてはここまでにしておこう。