如何以编程方式*删除* Apps 脚本中的 Google 表格菜单项

How to programmatically *remove* a Google Sheets menu item in Apps Script

Apps Script 各位,我如何以编程方式从 Apps Script 中删除 Google 表格中的自定义菜单项。有足够的方法来添加项目,但我看不到要删除的东西。这似乎是一个重大的 API 遗漏?有人知道怎么做吗?

没有删除菜单项的方法。

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

以下示例最初将创建一个包含 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() {}