首页 > 解决方案 > 如何以编程方式*删除* Apps 脚本中的 Google 表格菜单项

问题描述

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

标签: google-apps-scriptgoogle-sheetsmenu

解决方案


没有删除菜单项的方法。

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

下面的示例将首先创建一个包含 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() {}

推荐阅读