2017-02-24 45 views
0

我有一个Google工作表连接到Google表单,用户可以回答三个问题,然后插入表单中的ABCGoogle表单连接到Google表单:每次添加新行时都运行脚本功能

我试图设置一个触发器,所以每当通过Form Submit添加一个新行时,函数foo就会在其上运行。我有以下问题:

1)无论我选择触发器的类型,我不能得到的功能来运行,并且我不认为触发火灾正确

2)如何我可以在代码中获得刚刚插入的行的Range,以便我可以编辑它的内容吗?

到目前为止我的代码: 触发: screenie

和FOO代码:

function foo(){ 
    var myRange = e.range; 
    myRange.setNote("Is it working?"); 
    } 
}; 

到目前为止,每次添加一个新行的时候,它不会有一个注,这意味着触发器没有触发,或者我的代码有问题。

任何帮助将不胜感激!

+1

加上'e'的最后一排的功能参数:'函数foo(E){Logger.log( 'E:' + E)'另外补充Logger.log()语句,然后在代码运行后查看LOGS。 –

+0

另外,从脚本编辑器运行一次代码,以查看它是否有效,并且如果尚未这样做,还允许其访问工作表。在上面的触发设置对话框中,使用右侧的通知链接以正确的方式向您发送错误通知。直到你得到代码运行,然后将它设置为每天发送一次。 –

回答

0

你需要添加Ë为Foo的参数,里面ē你拥有所有的插入形式的信息,请参阅onFormSubmit

function foo(e){ 
     var myRange = e.range; 
     myRange.setNote("Is it working?"); 
     Logger.log("Values from the form" + e); 
} 

如果您仍然需要行的beingsubmited范围只需拨打onFormSubmit后一个函数,获取电子表格

var sheet=SpreadsheetApp.openById(id).getSheetByName(name) 
sheet.getRange(sheet.getLastRow(), 1, sheet.getLastRow(), sheet.getLastColumn()).getValues(); 
+0

什么都没有发生。即使在添加e作为参数之后,插入的新行也没有“它工作吗?”注释。 –

相关问题