触发功能onOpen停止在Google表格中工作

时间:2018-10-08 18:45:53

标签: google-apps-script google-sheets triggers

我对此很陌生,希望有人能帮助我。该脚本上周有效:

function onOpen(e) {
  // Replace ID & Last Name fields with generic information on open.
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  ss.getRange('D8:D8').setValue("000000000");  
  ss.getRange('F8:F8').setValue("Brown");  
}

上周它运行良好,但是当我今天早上打开它时,它刚打开时D8和F8被最后一个填充了。我尝试关闭所有其他帐户并重新启动Chrome,以防出现“多个帐户”错误。没有骰子。

运行或调试该函数时,不会导致任何错误。

删除

var sheet = ss.getActiveSheet();

line没有执行任何操作(经过长时间尝试,因为只有一张纸)。

D8和F8是我留给用户编辑的唯一字段。他们填充了一个隐藏的单元格,该单元格将两个字段连接在一起,作为从另一个无法直接访问用户的电子表格中提取数据的键。有权访问此工作表以从该工作表中提取数据。

之所以这么说是因为我今天大部分时间都在寻找解决方案,而我所能找到的只是提及了一些我已经授予的权限。

我真的希望有人能提供帮助。上周它通过了测试,并且成功了。我应该把它展示给明天。

请帮助!

1 个答案:

答案 0 :(得分:0)

不知道这是否适合您,但您可以尝试-不使用onOpen函数,而是重命名您的函数,并将其设置为可安装的触发器,该触发器将在每次打开电子表格时触发。

将函数onOpen重命名为someOtherName,然后 编辑->当前项目的触发器->单击此处立即添加一个->

将名称更改为新的函数名称,将事件从“时间驱动”更改为“从电子表格”,并将触发器更改为“打开时”。

HTH