2016-10-22 62 views
1

我無法在腳本中調用菜單項。例如:無法在InDesign CC腳本中調用菜單項

app.menuActions.item("$ID/Override All Master Page Items").invoke; 
app.menuActions.item("$Override All Master Page Items").invoke; 
app.menuActions.itemByID(6164).invoke; 

app.menuActions.item("$ID/Select All").invoke; 
app.menuActions.item("Select All").invoke; 
app.menuActions.itemByID(276).invoke; 

alert("Done"); 

除了在最後顯示警報外什麼都不做。

我檢查的ID是有效的,動作的名稱是獨一無二的(至少對於「覆蓋所有主頁項目」)與:

myMenuActions = app.menuActions.itemByName("Override All Master Page Items").getElements(); 
for (var i = 0; i < myMenuActions.length; i++) { 
      alert(myMenuActions[i].area + " " + myMenuActions[i].id); 
} 

我也通過Kaysan's guide to scripting menu items InDesign中讀出,但一切都無濟於事。

任何想法發生了什麼問題? (我寧願通過與區域無關的名稱而不是ID來引用菜單項,但是我會在此階段解決任何問題。)

我在Windows 10上運行InDesign CC 2014,並且使用Notepad ++編輯腳本,而不是Adobe ExtendScript環境,以防萬一相關。提前致謝!

+0

作爲一個IDE的extendscript工具極不理想一點,但它允許您調試腳本。考慮從ESTK運行腳本並設置斷點,以便您可以調查實際正在進行的操作。 – stib

回答

1

您需要將()添加到.invoke,因爲這是一種方法。

所以它應該是:

app.menuActions.item("$ID/Override All Master Page Items").invoke()

希望幫助

約翰