javascript - 无法在 InDesign CC 脚本中调用菜单项

标签 javascript adobe-indesign extendscript

我无法在脚本中调用菜单项。例如:

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++ 来编辑脚本,而不是 Adob​​e ExtendScript 环境,以防万一相关。提前致谢!

最佳答案

您需要将 () 添加到 .invoke,因为它是一个方法。

所以应该是:

app.menuActions.item("$ID/覆盖所有母版页项目").invoke()

希望有帮助

约翰

关于javascript - 无法在 InDesign CC 脚本中调用菜单项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40190494/

相关文章:

javascript - 不同表格按表格标题分开排序

javascript - 循环访问多个对象中的对象数组并使用下划线访问 D3 中的值

javascript - 如何在ajax之后执行特定代码

javascript - 将 Excel 文件与 InDesign CC 连接

javascript - 用于填充字符串的正则表达式

javascript - 如何在 Angular 单元测试中模拟/监视导入的函数

javascript - 如何使用 javascript 在 Indesign CS6 中查找文本框架? (我可以通过包含特定段落样式或什么的文本框架进行查询?)

javascript - 获取坐标: Adobe Illustrator的RGB颜色

javascript - ExtendScript switch 中的多个条件

javascript - 定义从 indesign 导出的 jpeg 的高度(以毫米为单位)