This is a snippet in the Google Apps Script for adding a menu in Google Docs/Forms/Sheets. As stated in the Menu#addItem
method it calls the menuItem2
function, but the snippet didn't include a sample on how to call the addItem
when you want to add parameters in function call, or is this not possible?
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
}
You can't add parameters to functions called by a menu.
A simple workaround is to store parameters elsewhere (in scriptProperties for example) and read these parameters if parameter is undefined.
In this configuration you can call the menuItem2 function from elsewhere in the script using a "normal" parameter and it will be handled as expected.