这是Google Apps脚本中的一个片段,用于在Google Docs/Forms/Sheets中添加菜单。正如Menu#addItem
方法中所述,它调用了menuItem2
函数,但是当您要在函数调用中添加参数时,该代码段未包含有关如何调用addItem
的示例,或者这不可能吗?
function onOpen() {
var ui = SpreadsheetApp.getUi();
// Or DocumentApp or FormApp.
ui.createMenu('Custom Menu')
.addItem('First item', 'menuItem1')
.addSeparator()
.addSubMenu(ui.createMenu('Sub-menu')
.addItem('Second item', 'menuItem2'))
.addToUi();
}
function menuItem2() {
SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
.alert('You clicked the second menu item!');
}
function menuItem2(PARAMETER_HERE) {
// codes
}
答案 0 :(得分:5)
您无法将参数添加到菜单调用的函数中。
一个简单的解决方法是将参数存储在别处(例如在scriptProperties中),如果参数未定义,则读取这些参数。
function menuItem2(PARAMETER) {
// if PARAMETER is undefined then read default parameter in scriptProperties
// codes
}
在此配置中,您可以使用“normal”参数从脚本中的其他位置调用menuItem2函数,它将按预期处理。