Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 如何知道单击了哪个菜单项?_Google Apps Script_Google Sheets_Menu - Fatal编程技术网

Google apps script 如何知道单击了哪个菜单项?

Google apps script 如何知道单击了哪个菜单项?,google-apps-script,google-sheets,menu,Google Apps Script,Google Sheets,Menu,我正在从谷歌电子表格中的REST调用创建一个动态自定义菜单。每次打电话我都会收到不同的运动项目,我想把它们作为菜单项 // sample sports array var menuItemsArr = ['Footbal', 'Tennis', 'Swimming']; var menu = SpreadsheetApp.getUi().createMenu("Sports"); for (i in menuItemsArr){ menu.addItem(menuI

我正在从谷歌电子表格中的REST调用创建一个动态自定义菜单。每次打电话我都会收到不同的运动项目,我想把它们作为菜单项

  // sample sports array
  var menuItemsArr = ['Footbal', 'Tennis', 'Swimming'];

  var menu = SpreadsheetApp.getUi().createMenu("Sports");
  for (i in menuItemsArr){
      menu.addItem(menuItemsArr[i],'createSheet')
       .addSeparator()
  }
  menu.addToUi();
当用户单击菜单项时,我想创建一个标题为“已单击的运动”的新工作表。因此,如果用户选择Tennis,我想创建一个名为Tennis的工作表

是否有可能知道单击了哪个菜单项(以某种方式获取该项的名称(网球),或者至少知道单击的菜单项的索引


任何帮助都将不胜感激!谢谢。

谷歌应用程序脚本.createMenu和.createAddonMenu能够以字符串的形式调用函数,并且只能在应用程序脚本项目全局范围中查找具有该名称的函数


另一种方法是使用HTML服务的对话框或边栏来创建用户界面。

目前不可能,这里是功能请求,您可以“启动”它:现在您只需为每个菜单项创建一个功能(
createSheetFootbal
createSheetTennis
,…)
菜单。附加项(menuitemsar[i],“createSheet”+menuItemsArr[i])
恐怕这是不可能的。我是怎么说的-我的数据总是动态的。我不能为每个菜单项创建函数。无论如何,谢谢这可能对你的情况有帮助:用
名称和
函数名称和
键构建对象的数组
条目谢谢大家。最后我用了下拉列表。