我正在构建一个Google表格平台,通过复制模板电子表格为新用户制作新的电子表格。由于潜在的大量用户,我需要能够以编程方式进行此操作。
模板的一部分是onEdit
触发器。到目前为止,我还没有找到将触发器复制到新电子表格的方法。我已经尝试过使用ScriptApp.newTrigger
,如下所示:
var newss = playertemplate.copy(playerid + '. ' + playername).getId()
var newsheet = SpreadsheetApp.openById(newss).getSheetByName('Sheet1')
var newfile = DriveApp.getFileById(newss)
newfile.setSharing(DriveApp.Access.ANYONE_WITH_LINK, DriveApp.Permission.EDIT)
ScriptApp.newTrigger("submitBets").forSpreadsheet(newss).onEdit().create()
但是结果是在运行上述脚本的“主”电子表格和新电子表格上都创建了新触发器。我发现这对多达20个新用户有效,之后我遇到了主电子表格上绑定触发器数量的限制。当我在主电子表格上删除触发器时,在新的电子表格上也将其删除。
我发现了一些类似的旧问题,但都没有解决,因此我希望在过去的几年中开发出一种解决方案,或者希望有人在此期间找到解决方法。