[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(DTPtechNote:1649) [InDesign CS3][JavaScript][Scripting]Menuスクリプト(3)



Menuを操作するスクリプト覚え書き(3)
なにかしらメニューが選ばれた時、そのイベントをキャッチして処理ができます。

たとえば、こんな感じ。
#targetengine "session"

var my_menu_action_1 = app.menuActions.item("$ID/Copy");
var my_event_1 = my_menu_action_1.eventListeners.add("beforeInvoke",
function () {alert("コピーしちゃうね、お兄ちゃん!");});

var my_menu_action_2 = app.menuActions.item("$ID/Paste");
var my_event_2 = my_menu_action_2.eventListeners.add("afterInvoke",
function () {alert("お兄ちゃん、ペーストしちゃった...(ぺた");});

コピペが楽しくて、たまんないですね(w

ScriptingGuide(JavaScript)のPP101のサンプルでは、あらかじめメインメニューに「Script Menu Action」というメニューと、menu item「Display Message」を作って、
もしなにも選択されてい時に「Script Menu Action」を選ばれたら、menu item「Display Message」をグレーアウトするってものです。
サンプルとしては、ちょっと手が込んでいるので、わかりずらいかも。
かつ、メインメニューに新しい項目を追加するのは、現在では危険なワザなので、使わないようにいたしましょう。

とりあえず、Menuスクリプトについては以上でおわりです。あとはこの3つの複合技になると思います。