Google apps script 当副本由工作表组成时,如何保持Google Appscript触发器?
我有一个主电子表格,人们会定期复制它。我在主控台上设置了几个on-edit触发器,但似乎无法在电子表格的副本上保持这些工作。有什么办法解决这个问题吗?Google apps script 当副本由工作表组成时,如何保持Google Appscript触发器?,google-apps-script,Google Apps Script,我有一个主电子表格,人们会定期复制它。我在主控台上设置了几个on-edit触发器,但似乎无法在电子表格的副本上保持这些工作。有什么办法解决这个问题吗? 应用于它们绑定到的电子表格 在脚本中定义 制作电子表格副本时,也会复制绑定的应用程序脚本 因此,脚本中包含的简单onEdit触发器也将被复制,并可用于复制的电子表格 用户所要做的就是手动运行脚本一次,以触发授权流 补充ziganotschka的话 我们可以在脚本本身中添加可安装的触发器,并使用onOpen触发器安装它们 运行这些程序需要一次授权,
- 应用于它们绑定到的电子表格
- 在脚本中定义
- 制作电子表格副本时,也会复制绑定的应用程序脚本
- 因此,脚本中包含的简单onEdit触发器也将被复制,并可用于复制的电子表格
- 用户所要做的就是手动运行脚本一次,以触发授权流
function onOpen() {
makeTriggerIfempty();
}
function makeTriggerIfempty() {
var allTriggers = ScriptApp.getProjectTriggers();
if(allTriggers.length < 1){
createTimeDrivenTriggers();
}
}
function createTimeDrivenTriggers() {
// Trigger every 2 hours.
ScriptApp.newTrigger('myFunction')
.timeBased()
.everyHours(2)
.create();
// Trigger every Monday at 08:00.
ScriptApp.newTrigger('myFunction')
.timeBased()
.onWeekDay(ScriptApp.WeekDay.MONDAY)
.atHour(8)
.create();
}
函数onOpen(){
makeTriggerIfempty();
}
函数makeTriggerIfempty(){
var allTriggers=ScriptApp.getProjectTriggers();
if(allTriggers.length<1){
createTimeDrivenTriggers();
}
}
函数createTimeDrivenTriggers(){
//每2小时触发一次。
ScriptApp.newTrigger('myFunction')
.基于时间的()
.每小时(2)
.create();
//每周一08:00触发。
ScriptApp.newTrigger('myFunction')
.基于时间的()
.onWeekDay(ScriptApp.WeekDay.MONDAY)
.atHour(8)
.create();
}
你不能。如果您或其他用户制作了副本,则需要授权新副本中的触发器。你可以做的是让脚本通过单击来安装触发器,这样你或你的用户就不必担心每次手动安装触发器。触发器是简单的触发器还是可安装的触发器?