如果GSheets触发器在更新条目时无法正常工作,但手动运行脚本可以正常工作,可能是由于以下原因之一:
-
触发器权限问题:请确保触发器有足够的权限来访问和修改表格。可以尝试使用具有编辑权限的帐户来创建触发器。
-
触发器事件设置错误:请确保您的触发器事件设置正确。例如,如果您只需要在表格中的特定单元格更新时触发脚本,则应选择“从电子表格接收通知”事件。确保事件与您的需求一致。
-
触发器脚本错误:请检查脚本是否存在错误。确保您的脚本在更新条目时没有任何问题。您可以尝试在脚本中添加日志语句来检查脚本是否成功执行。例如,在脚本的更新函数中,您可以添加以下代码:Logger.log('Script executed successfully');
。然后,通过查看脚本编辑器中的日志来检查脚本是否成功执行。
以下是一个示例代码,显示如何在GSheets中创建一个简单的触发器来在更新条目时触发脚本:
function onEdit(e) {
var range = e.range;
var sheet = range.getSheet();
var row = range.getRow();
var column = range.getColumn();
// 检查更新的单元格是否位于特定的行和列
if (sheet.getName() == "Sheet1" && row == 2 && column == 1) {
// 在控制台中记录日志
Logger.log('Trigger executed successfully');
// 在此处添加您希望触发的脚本代码
// ...
}
}
请确保将脚本中的“Sheet1”更改为您要监视的电子表格的名称,将“row == 2”更改为要监视的行号,将“column == 1”更改为要监视的列号。然后,保存并部署脚本,并确保在Google Sheets中启用触发器。