onChange没有开火

时间:2017-11-09 17:40:54

标签: google-apps-script google-sheets

我显然做错了,因为世界上没有人以前似乎遇到过这个问题。

我想在工作表末尾插入一行时运行Google Apps脚本。我知道我需要使用onChange,所以这就是我所做的:

设置应在触发更改时运行的脚本:

function copyDownFormula(e) 
{
Logger.log('something');
}

然后我在我的触发器中设置onChange触发器:

my sheet triggers

然后我安装了此代码,以便在使用onOpen触发器打开工作表时安装onChange触发器:

  ScriptApp.newTrigger('onChange').forSpreadsheet(ss).onChange().create(); 

但由于某种原因,当我向表格中添加行时,没有任何反应。我访问日志并且它们是空的。我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

onChange又回到Firing Again

也许这样:

ScriptApp.newTrigger('onChange').forSpreadsheet(ss).onChange().create(); 

应该是这样:

ScriptApp.newTrigger('copyDownFormula').forSpreadsheet(ss).onChange().create(); 

试试这个:

function copyDownFormula(e)
{

  Logger.log('ChangeType:%s Row:%s',e.changeType,SpreadsheetApp.getActiveSheet().getActiveRange().getRow()); 

}

在“编辑”菜单中的“当前项目”的“触发器”中设置触发器。它有效。

或者如果您愿意:

你用这个:

function triggerSetup()
{
    ScriptApp.newTrigger('copyDownFormula').forSpreadsheet('SpreadsheetId').onChange().create();
}