javascript - TypeError:无法读取 null 的属性“getRange”(第 14 行,文件“代码”)
问题描述
尝试在 Google App 脚本中运行电子邮件发送脚本时出现此错误。我对 Javascript 没有任何了解(我打算在学习 Python 后学习),并且我从 Google App 脚本提供的示例代码中获得了此代码。
Google 电子表格中的行数和列数:https ://prnt.sc/tha2o1
下面是代码。
// This constant is written in column C for rows for which an email
// has been sent successfully.
var EMAIL_SENT = 'EMAIL_SENT';
/**
* Sends non-duplicate emails with data from the current spreadsheet.
*/
function sendEmails2() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; // First row of data to process
var numRows = 6; // Number of rows to process
// Fetch the range of cells A2:B3
var dataRange = sheet.getRange(startRow, 1, numRows, 7);
// Fetch values for each row in the Range.
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var emailAddress = row[0]; // First column
var message = row[1]; // Second column
var emailSent = row[3]; // Third column
if (emailSent !== EMAIL_SENT) { // Prevents sending duplicates
var subject = 'Sending emails from a Spreadsheet';
MailApp.sendEmail(emailAddress, subject, message);
sheet.getRange(startRow + i, 3).setValue(EMAIL_SENT);
// Make sure the cell is updated right away in case the script is interrupted
SpreadsheetApp.flush();
}
}
}
解决方案
我正在运行一个独立的脚本,但它不起作用。如果您希望使用 Google Sheets/Docs/Forms/Sites,您应该运行容器绑定脚本。这是运行容器绑定脚本的方法。https://developers.google.com/apps-script/guides/bound