function sendEmails() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; // First row of data to process
var numRows = 2000; // 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, {noReply:true});
}
}
在这里,我想将C2,D2,E2,F2行数据发送到A2,并将C3,D3,E3,F3行数据发送到A3,并且循环应针对工作表中的所有行运行。
我有一个脚本将共同的主题正文发送给所有人。
有人可以帮我按上述方式发送数据吗
尝试使用此:
function sendEmails() {
var sheet = SpreadsheetApp.getActiveSheet();
// Get all values in the spreadsheet
var data = sheet.getDataRange().getValues();
// Loop through all rows with data:
for(var i = 1; i < data.length; i++) {
var row = data[i];
var emailAddress = row[0]; // Get email address
// Build message body (you could also do this with a loop):
var message = row[2] + "\n" + row[3] + "\n" + row[4] + "\n" + row[5]
var subject = "Sending emails from a Spreadsheet";
MailApp.sendEmail(emailAddress, subject, message, {noReply:true});
}
}
该代码采用工作表中的所有值并循环遍历它们,因此您无需指出要循环遍历的行数。您必须指明要从哪一行开始(在本例中为第二行,因此var i = 1
)。
另外,在构建消息正文时,可以使用循环,但是我不确定是否值得。如果还有更多的列,那将是有意义的。
另外,您尝试使用for ... in,不建议在数组中循环使用,并且使用的语法不正确。
告诉我这是否适合您。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句