我想修改我的代碼,我可以發送一個基於指定行的值的電子郵件的方式。通過谷歌工作表發送電子郵件行完全完成
問題:幾個人在進行銷售時同時使用此工作表,並且腳本要求發送包含不包含email_sent的「if」值的一組行的電子郵件。我想插入一行或者只發送滿足所有條件的行的電子郵件。我也想保護髮送後的細胞,以免它們被錯誤地編輯或刪除。最後,我希望沒有谷歌賬戶的用戶能夠觸發腳本。
`// This constant is written in column L for rows for which an email
`// has been sent successfully.`
`var EMAIL_SENT = "EMAIL_SENT";`
`function sendEmails2() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; // First row of data to process
var numRows = 1; // Number of rows to process
// Fetch the range of cells A2:K2
var dataRange = sheet.getRange(2,1,3,12)
// 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 = Utilities.formatDate(row[1], "GMT" , "MM/dd/yyyy");
var message1 = row[2]; // third column
var message2 = row[3];
var message3 = row[4];
var message4 = row[5];
var message5 = row[6];
var message6 = row[7];
var message7 = row[8];
var message8 = row[9];
var message9 = Utilities.formatDate(row[10], "GMT" , "MM/dd/yyyy");
var emailSent = row[12]; // 12th column
if (emailSent != EMAIL_SENT) { // Prevents sending duplicates
var subject = "Sending emails from a Spreadsheet";
MailApp.sendEmail(emailAddress, subject, "\nSale date: " + message + "\nCustomer: " + message1 + "\nJob: " + message2 + "\nLender: " + message3 + "\nAged inventory: " + message4 + "\nreplacing CAN: " + message5 + "\nChange option: " + message6 + "\nSource: " + message7 + "\nRealtor: " + message8 + "\nClosing: " + message9);
sheet.getRange(startRow + i, 12).setValue(EMAIL_SENT);
// Make sure the cell is updated right away in case the script is interrupted
SpreadsheetApp.flush();
}
}
}`
任何幫助將不勝感激! –