確認済みバージョン:InDesign CS6
スクリプトから別のスクリプトを呼び出して実行するには次のように記述します。
app.doScript(script [, language][, withArguments][ undoMode][, undoName]);
(*[]内は任意)
呼び出すスクリプトはメニューからの取り消しで一度で取り消す設定にすることもできます。
コード例:
//実行中のスクリプトと同階層にあるtest.jsを指定
myJavaScript=new File(app.activeScript.parent.fsName+"/test.js");
app.doScript(myJavaScript, ScriptLanguage.javascript,[],UndoModes.fastEntireScript,"スクリプト");
<パラメータの説明>
script:Fileオブジェクト、JavaScript Functionオブジェクト、文字列のいずれかで指定。上記例ではFileオブジェクトです-
language:実行しようとするスクリプトが書かれている言語。 次のいずれかを指定します
ScriptLanguage.UNKNOWN
ScriptLanguage.JAVASCRIPT
ScriptLanguage.APPLESCRIPT_LANGUAGE
withArguments:実行しようとするスクリプトに渡すパラメータ。上記例では空です
undoMode:実行後の取り消しに関する挙動を指定します。次のいずれかを取ります。
UndoModes.SCRIPT_REQUEST:スクリプトで行った操作を一つずつ取り消します
UndoModes.ENTIRE_SCRIPT:スクリプトで行ったすべての操作を一度に取り消します。
UndoModes.AUTO_UNDO:前回のdoScript実行時の設定と同様になります
UndoModes.FAST_ENTIRE_SCRIPT:調査中
undoName:UndoModesが”entire script”のとき、編集メニューに表示される取り消しの名称表示