スクリプトでメニュー項目を開く/実行
InDesignのメニュー項目をスクリプトで開くまたは実行したい場合、メニューIDを用いてメニュー項目の実行ができます。
// 「InDesign を終了」のメニューの実行例
var idNum = 267; // 「InDesign を終了」のメニューID
app.menuActions.itemByID(idNum).invoke(); // 「InDesign を終了」を実行
InDesignのメニューIDの取得
しかし、InDesignのメニューIDを取得するためには、別の方法が必要です。
メニューIDを取得する方法の1つは、以下のようにメニューのIDのリストを取得するスクリプトを実行して、InDesignのメニューIDを取得することができます。
// メニューID取得後、csvファイルに出力
// C:\Users\(ユーザー名)\Documents\action.csvでファイル生成
var filePath = "action.csv";
var fileObj = new File(filePath);
fileObj.open("w");
fileObj.encoding = "shift-jis";
// ヘッダー作成
fileObj.writeln("Name,Area,Id");
// メニューを情報取得して、ファイルに出力する
var appMenuActions = app.menuActions;
for (var i = 0; i < appMenuActions.length; i++) {
fileObj.writeln(
appMenuActions[i].name + "," + appMenuActions[i].area + "," + appMenuActions[i].id
);
}
fileObj.close();
出力したcsvファイルを確認すると、以下のようにメニュー名、メニューの領域、メニューIDを確認することができます。
※ menuActionのプロパティやメソッドなどについては、こちらで詳細の確認が可能です
- https://www.indesignjs.de/extendscriptAPI/indesign-latest/#MenuAction.html
- http://indesign.cs5.xyz/dom/MenuAction.html