我正在尝试创建一个循环遍历列并从第2,3和4行设置变量的脚本。我发现了以下示例脚本并尝试重写它以循环遍历列但是当我替换“row”时使用“列”它仍会循环遍历行。
function sendEmails() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; // First row of data to process
var numRows = 2; // Number of rows to process
// Fetch the range of cells A2:B3
var dataRange = sheet.getRange(startRow, 1, numRows, 2)
// Fetch values for each row in the Range.
var data = dataRange.getValues();
for (i in data) {
var row = data[i];
var emailAddress = row[0]; // First column
var message = row[1]; // Second column
var subject = "Sending emails from a Spreadsheet";
MailApp.sendEmail(emailAddress, subject, message);
}
}
答案 0 :(得分:3)
这是因为循环发生在使用getValues()
得到的数组数组中,其中每行内容由列值数组表示。
要迭代一行,只需使用data[0]
并循环播放。(data[0][0]
,data[0][1]
,data[0][n]
...)
其他行的值将位于data[1][n]
,data[2][n]
等,n是循环索引
另请注意,您选择了由2行组成的范围,并且您在问题中提到需要2,3和4的数据...因此请将范围调整为必要的大小。
代码示例:
var data = dataRange.getValues();
for (n in data[0]) {
var emailAddress = data[0][n]; // First row in each column
var message = data[1][n]; // Second row in each column
var subject = "Sending emails from a Spreadsheet";
MailApp.sendEmail(emailAddress, subject, message);
}