Triggers 如何配置";论编辑;在自动创建的文件上触发(使用谷歌脚本)?

Triggers 如何配置";论编辑;在自动创建的文件上触发(使用谷歌脚本)?,triggers,google-apps-script,google-sheets,Triggers,Google Apps Script,Google Sheets,我遵循了以下教程: 首先,我有一个包含以下列(名字、姓氏和部门)和相关数据的源电子表格(请参见此处的源文件截图:) 然后,我为每个部门名称动态创建一张工作表(请参见教程代码):每张工作表都包含该部门员工的信息。(请参见教程屏幕截图) 我定制了本教程,以便动态地为每个部门创建一个电子表格,而不是为每个部门创建一张表格 当修改每个子电子表格时,我想启动一个“编辑时”触发器。此“编辑时”触发器将使用所有子spreasheets数据重新生成源电子表格 我已经测试了这个功能性,但似乎我无法在远程电子表格上

我遵循了以下教程:

首先,我有一个包含以下列(名字、姓氏和部门)和相关数据的源电子表格(请参见此处的源文件截图:)

然后,我为每个部门名称动态创建一张工作表(请参见教程代码):每张工作表都包含该部门员工的信息。(请参见教程屏幕截图)

我定制了本教程,以便动态地为每个部门创建一个电子表格,而不是为每个部门创建一张表格

当修改每个子电子表格时,我想启动一个“编辑时”触发器。此“编辑时”触发器将使用所有子spreasheets数据重新生成源电子表格

我已经测试了这个功能性,但似乎我无法在远程电子表格上编程创建“OnEdit”触发器(执行验证问题)。似乎只有手动创建(编辑时)触发器是可能的

是否可以使用Google脚本在远程电子表格上动态创建触发器?


致以最诚挚的问候

您可以创建一个触发器函数,用于处理远程电子表格或表单中的事件。看

创建触发器的脚本必须可以访问触发器函数-换句话说,它必须是同一脚本的一部分

var ssKey = 'XXXXXXXXXXXXXXXXXXXXX';

function myFunction() {
  ScriptApp.newTrigger('myOnEdit')
           .forSpreadsheet(ssKey)
           .onEdit()
           .create();
}

function myOnEdit(e) {
  Logger.log(JSON.stringify(e));
}
当然,您希望在触发器函数中执行一些有用的操作,但这只是一个示例

有一个问题需要注意。此远程功能将不会接收中“电子表格编辑事件”下记录的“源代码”属性。请参阅,并为其添加星星以获取更新

这有什么关系?如果这样做有效,您就可以注册相同的触发器函数来处理所有电子表格中的事件,并使用
source
属性一次处理一张表格