如何在 Apps 脚本中以编程方式“删除”Google 表格菜单项

jef*_*eff 0 menu google-sheets google-apps-script

Apps 脚本人员,如何以编程方式从 Apps 脚本中删除Google 表格中的自定义菜单项。有足够的方法来添加项目,但我看不到任何可以删除的方法。看起来这是一个主要的 API 遗漏?有谁知道如何做到这一点?

chu*_*ckx 6

没有删除菜单项的方法。

另一种方法是构建一个新菜单并用它来替换现有菜单。请注意,替换菜单必须与现有菜单具有相同的名称,否则将添加额外的菜单。

以下示例将首先创建一个包含 1 个项目的菜单,等待 5 秒,然后将其替换为另一个包含一个项目的菜单,然后重复,直到出现一个包含 5 个项目的菜单。

function onOpen() {
  for (var i = 1; i <= 5; i++) {
    addMenu(i);
    Utilities.sleep(5000);
  }
}

function addMenu(numItems) {
  var menu = SpreadsheetApp.getUi().createMenu('Test Menu');
  for (var i = 0; i < numItems; i++) {
    menu.addItem('Entry ' + i, 'nullFunc');
  }
  menu.addToUi();
}

function nullFunc() {}
Run Code Online (Sandbox Code Playgroud)