发布 Google Sheet 插件和 sheet 模板

Publish Google Sheet addon and sheet template

我开发了一个 google sheet 脚本来创建自定义菜单。该菜单项验证 sheet 中的数据,但基于 Google Sheet 模板,该模板定义了用户必须在何处输入每个单元格值以进行验证。

我想将菜单脚本发布为插件。因此,如果用户安装了插件但未使用 google sheet 模板,则数据将不会按预期进行验证,因为他不知道在何处输入每个单元格值。

是否有机会添加插件下载 sheet 模板或任何其他解决方法?

我已将 Google Sheet 发布到网上,但该选项删除了菜单栏,因此用户无法使用该插件。

满足这种要求的最佳方法是什么?

此致

方法

一个可能的解决方法是制作模板 public 并在 运行 AddOn 时将其复制到活动电子表格中。

这是一个例子:

function onOpen(e) {
  SpreadsheetApp.getUi().createAddonMenu()
      .addItem('Insert Template', 'copyTemplate')
      .addItem('Your validation function', 'validationFunction')
      .addToUi();
}

function copyTemplate() {
  let ss = SpreadsheetApp.getActiveSpreadsheet();
  let template = SpreadsheetApp.openById('template_id').getSheets()[0];
  let newss = template.copyTo(ss);
  newss.activate();
}

参考

Sheet .copyTo()

.createAddonMenu()