我在电子表格上附加了Google表单。每次通过表单将数据提交到电子表格中。然后,电子表格应该会自动将电子邮件发送给多个人,但无法正常工作。
这是我的代码:
function myFunction(row) {
var sheets = SpreadsheetApp.getActiveSpreadsheet();
var sheet = sheets.getSheets()[0]; // Form Responses 1
var columnName = sheet.getRange("A1:S1").getValues();
var dataRange = sheet.getRange(row);
var data = dataRange.getValues();
var responseObj = {};
var carId = "";
for (var i = 2; i < columnName[0].length; i++) {
var key = columnName[0][i];
var value = dateFormat(data[0][i],key);
responseObj[key] = value;
if(key === "Car ID"){
carId = value;
}
}
var htmlBodyLoc = doGet(responseObj);
MailApp.sendEmail({
to: 'person.one@gmail.com,person.two@gmail.com,person.three@gmail.com',
subject:'Car Inspection - ' + outletId + ' ' + new Date(),
htmlBody: htmlBodyLoc,
});
}
我实际上在此行出现错误: var dataRange = sheet.getRange(row);
谢谢。
答案 0 :(得分:0)
您可以通过4种方式致电sheet.getRange()
getRange(row, column)
它适用于单个单元格范围。
如果您来自VBA,则这是最接近工作表的单元格。
getRange(row, column, numRows)
这样,您可以创建一系列单列和多行,有时很有用
getRange(row, column, numRows, numColumns)
这是通过编程实现的方法。
例如sheet.getRange(1,1,2,2)
将为您提供范围A1:B2
最后还有getRange(a1notation)
,您可以像sheet.getRange("A1:B2")
如果您尝试获取单个数据单元,也许您可以更改
var dataRange = sheet.getRange(row);
至
var dataRange = sheet.getRange(row, yourFixedColumn);
yourFixedColumn是列E的索引为1的整数,例如列A = 1
否则,您必须将传递的参数行更改为符合上述方法的内容。