我正在按照“定义电子表格菜单”教程中的规定做所有事情。使用 onOpen 事件处理程序修改菜单。
我已经在“脚本库”中公开了这个“文本到列”脚本,但我担心当自定义菜单需要很长时间才能弹出时,下载的用户可能会感到困惑。
第一次加载脚本被证明是一种痛苦。很多时候完全错过了 onOpen 触发器。似乎触发器设置不正确,因为手动重置 onOpen 触发器将修复它。
对于个人使用,我认为这是一个小麻烦,但对于共享脚本,它成为一个支持问题。
注意:每次后续加载始终需要大约 7 秒才能出现,这还可以,但远非理想。
这是 onOpen 处理程序:
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var menuEntries = [];
menuEntries.push({ name:"Text to columns", functionName:"textToColumns" });
menuEntries.push({ name:"Text to columns (custom separator)", functionName:"textToColumnsCustom" });
menuEntries.push(null);
menuEntries.push({ name:"Columns to Text", functionName:"columnsToText" });
menuEntries.push({ name:"Columns to Text (custom separator)", functionName:"columnsToTextCustom" });
ss.addMenu("Advanced", menuEntries);
}
注意:这是在只有一个用户的新(即空)电子表格上测试的。