我正在尝试让 Gsheets 发送到多个电子邮件。它仅从 A2
和 A3
收集信息。我该如何解决这个问题?
function sendEmail() {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var sheet1=ss.getSheetByName('Sheet1');
var n=sheet1.getLastRow();
for (var i = 2; i < n+1 ; i++ ) {
var emailAddress = sheet1.getRange(i,1).getValue();
var subject = sheet1.getRange(i,2).getValue();
var message = sheet1.getRange(i,3).getValue();
MailApp.sendEmail(emailAddress, subject, message);
}
}
答案 0 :(得分:2)
根据您的问题,我了解到您已修复 subject
和 message
,并且您想要遍历电子邮件列表。
A2 & A3
,但随后在您的电子邮件代码中,您遍历了 A 列,因此将主题和消息也放在您拥有电子邮件的同一列中是没有意义的。假设有以下工作表:
以下是如何发送基于 A 列、主题和消息分别基于单元格 B2
和 B3
的电子邮件:
function sendEmail() {
const ss = SpreadsheetApp.getActive()
const sheet1=ss.getSheetByName('Sheet1');
const subject = sheet1.getRange('B2').getValue(); // B2
const message = sheet1.getRange('B3').getValue(); // B3
const n=sheet1.getLastRow();
const emails = sheet1.getRange('A2:A'+n).getValues().flat();
emails.forEach(emailAddress=>{
MailApp.sendEmail(emailAddress, subject, message);
});
}
如果你有不同的数据结构,请告诉我,我会相应地修改答案。