如何复制Google工作表并保留其项目触发器和脚本?



我当前有一个我用作主模板的Google表。也就是说,我正在为每个请求制作此模板的副本。我想在我的主模板中添加一个Google App脚本(在完成工作表完成后将其启用到我的服务器(,该模板将重复并为此模板的每个副本运行。

我已经尝试从管理员帐户中执行此操作,但是,脚本似乎并没有使用任何模板"粘贴"。这可能吗?

可安装触发器可以连接到任何项目的任何电子表格(尊重共享权限(。您可以为所制作的每个副本添加新的触发器项目。在此处的第二个示例中,他们建议使用SpreadsheetApp.openById()您也可以使用Everdersheetapp.openbyurl((或Spreadsheet#copy()返回的电子表格,具体取决于您如何复制电子表格。

就个人而言,我在2022年所做的工作包括一开始:

function scriptSetup() {
  createOnEditFunction();
}
 
function createOnEditFunction() {
  const ss = SpreadsheetApp.getActive();
  ScriptApp.newTrigger('onEdit')
    .forSpreadsheet(ss)
    .onOpen()
    .create();
}
function onEdit(e) {
  //your stuff here
}

以这种方式,scriptsetup((位于第一行上,因此在复制电子表格时,我会在表中要求它们单击扩展名>应用脚本>运行。

根据Jared Pinkham的链接引用开发人员文档,应用程序脚本可以用作触发器以外的其他内容。

有几个用于Google Workspace的可安装触发器申请:

当用户打开电子表格时,可安装的打开触发器运行,文档或他们有权编辑的表格。

当用户修改一个值时,可安装的编辑触发器运行电子表格。

当用户修改结构时,可安装的更改触发器运行电子表格本身 - 例如,通过添加新表或删除列。

可安装的表单提交触发器在用户响应一个形式。有两个版本的Form-Submit触发器,一个用于Google表格本身,如果表格提交给电子表格。

当用户的日历时,可安装的日历事件触发器运行事件已更新 - 创建,编辑或删除。

您可以参考电子表格触发器的以下链接。

相关内容

  • 没有找到相关文章

最新更新