:note

計算式でページ移動+あたらしいウインドウ作成

InDesignでドキュメント上の他ページを参照したいとき、指定ページを新規ウインドウで表示する豆スクリプト。ダイアログが出ますのでお好きなページを入力して実行。

計算式でページ移動+あたらしいウインドウ作成 /images/2010/09/729-goto_page_dlg.jpg

通常、ウインドウ下のページ番号入力フィールド、「ページへ移動…」メニューのダイアログ(cmd+J)は文字列扱いなので、(166+68)などの計算式でのページ指定ができません(おこられます)。なので、入力値がエラーになったら、 eval() で計算してリトライします。(+ページ番号)での絶対ページ番号でも大丈夫。

//指定ページで新規ウィンドウ
var docObj=app.documents[0];
var dlg=app.dialogs.add({name:"go to page"});
with(dlg){
  with (dialogColumns.add()){
    var pageNo=textEditboxes.add({
      //デフォルト表示は現在のアクティブページ
      editContents: app.windows[0].activePage.appliedSection.name+app.windows[0].activePage.name,
      minWidht:30
      });
  }
}
if(dlg.show() == true){
  var goToPage=pageNo.editContents;
  var calcPage=eval(goToPage).toString();
  dlg.destroy();
  //新規ウインドウ
  var nwWin=docObj.windows.add();
  try{//ページに行ってみる
    nwWin.activePage=docObj.pages.item(goToPage);
  }
  catch(e){//ページがなかったら
    try{//計算してみる
      nwWin.activePage=docObj.pages.item(calcPage);
    }
    catch(e){
      nwWin.close();
      alert("The page does not exist.");
    }
  }
}
else{
  dlg.destroy();
}
 
comments powered by Disqus
back to top