前段时间我为我的一个电子表格编写了一个脚本,该脚本使用可安装的触发器onOpen来启动SpreadsheetApp.getUi函数。
该功能如下:
function addMenu()
{
// adding custom menu
var ui = SpreadsheetApp.getUi();
ui.createMenu('New menu')
.addSubMenu(ui.createMenu('menu')
.addItem('item', 'functionName')
.addSubMenu(ui.createMenu('additive')
.addItem('subitem', 'subfunctionName')))
.addToUi();
};
这个菜单就像一个魅力,使用可安装的触发器onOpen从电子表格中触发。这些菜单项调用的函数使用UserProperties,因此我确保它不是匿名运行的。
本周我注意到打开电子表格时菜单不再有效 - 只有在我直接从脚本编辑器中调用它时才能使用。
我不知道如何解决这个问题 - 我没有对脚本进行任何更改,并检查以确保没有其他人干涉它。这是迄今为止工作的相同脚本。
我非常感谢这一方面的帮助,至少可以说是令人费解的。
谢谢!
答案 0 :(得分:1)
子菜单是否应该互相嵌套?如果没有,您可能正在寻找:
function addMenu() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('New menu')
.addSubMenu(ui.createMenu('menu')
.addItem('item', 'functionName')
)
.addSubMenu(ui.createMenu('additive')
.addItem('subitem', 'subfunctionName')
)
.addToUi()
};