连接到Google表单的Google表格:每次添加新行时运行脚本功能

时间:2017-02-24 01:41:12

标签: google-apps-script google-sheets

我将Google表格连接到Google表单,用户可以回答三个问题,然后将这些问题插入表格ABC

我正在尝试设置触发器,因此每次通过表单提交添加新行时,都会运行一个函数foo。我遇到了以下问题:

1)无论我选择的触发类型如何,我都无法运行该功能,我认为触发器无法正常启动

2)如何在代码中获取JUST插入的行的Range,以便编辑其内容?

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

和foo的代码:

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

到目前为止,每次添加一个新的Row时,它都没有Note,这意味着触发器没有触发,或者我的代码出错了。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

您需要添加e作为foo的参数,并且在e中,您将在表单中插入所有信息,请参阅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();