指定菜单功能的参数

时间:2014-09-10 05:50:59

标签: google-apps-script menu

这是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    
}

1 个答案:

答案 0 :(得分:5)

您无法将参数添加到菜单调用的函数中。

一个简单的解决方法是将参数存储在别处(例如在scriptProperties中),如果参数未定义,则读取这些参数。

function menuItem2(PARAMETER) {
  // if PARAMETER is undefined then read default parameter in scriptProperties
  // codes    
}

在此配置中,您可以使用“normal”参数从脚本中的其他位置调用menuItem2函数,它将按预期处理。