如何以编程方式*删除* 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() {}
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() {}