我有一个以前只针对 Google Docs 的插件,我正在尝试扩展功能集以包括 Google 表格。在开发模式下,我可以设置一个条件来检测哪种文档类型处于活动状态(文档或表格),然后显示相应的菜单。当我发布最新版本的插件时,插件菜单在文档和表格中都停止工作。
我猜这与“onOpen()”周围的权限有关,但我不确定如何处理这个问题。G Suite Marketplace 允许您指定插件支持多个编辑器。
这是在开发中工作的代码:
function onOpen(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var doc = DocumentApp.getActiveDocument();
if(ss != null && ss != undefined) {
var sheetsUI = SpreadsheetApp.getUi();
sheetsUI.createAddonMenu()
.addItem('Name', 'function')
.addToUi();
}
if(doc != null && doc != undefined) {
var docsUI = DocumentApp.getUi();
docsUI.createAddonMenu()
.addItem('Name', 'function')
.addToUi();
}
}
如果我删除有条件的东西,只包括编辑器特定的菜单(文档的文档,工作表的工作表),菜单会正确显示。