我试图让一个脚本从一个工作表中发送一封确认邮件,由 "表单提交 "触发,除了2个变量之外,所有的工作都能正常进行,但似乎脚本并没有发现这些变量。
代码:我想让一个脚本发送一个新的数据,并将其粘贴到工作表中。
function myFunction(e) {
var userName = e.values[2]; //this info comes from form and works
var teamName = e.values[1]; //this info comes from form and works
var recipient = e.values[4]; //this info comes from form and works
var refNumber = e.values[22]; //this info comes from an array in a column and returns "undefined"
var NetballWeekend = e.values[6]; //this info comes from form and works
var editURL = e.values[20]; //this info comes from another function which pastes it into column "U" and returns blank
var subject = "SunSports Netball Weekend - Your Booking for " + teamName + "." ;
var body = "Hello " + userName + "."
+ "\n" + "We have received your booking form for the " + NetballWeekend + "."
e.values
是一个事件对象,绑定到事件 onFormSubmit
e.values
e.range.getRow()
检索最新提交的表格的行号,并检索手动添加的数值,例如 getRange(e.range.getRow(), 21).getValue()
undefined
onFormSubmit,而最好的方法是等待,例如通过将 Utilities.sleep() 检索这些值之前样品:
function myFunction(e) {
Utilities.sleep(1000);
var range = e.range;
var row = range.getRow();
var sheet = range.getSheet();
var userName = e.values[2]; //this info comes from form and works
var teamName = e.values[1]; //this info comes from form and works
var recipient = e.values[4]; //this info comes from form and works
var refNumber = sheet.getRange(row, 23).getValue();
var NetballWeekend = e.values[6]; //this info comes from form and works
var editURL = sheet.getRange(row, 21).getValue();
var subject = "SunSports Netball Weekend - Your Booking for " + teamName + "." ;
var body = "Hello " + userName + "."
+ "\n" + "We have received your booking form for the " + NetballWeekend + "."
...
}