簡體   English   中英

通過工作表腳本選擇下拉項時發送電子郵件

[英]Sending email when a dropdown item is selected through a Sheet script

當H列中的狀態下拉菜單設置為“已完成”時,我試圖向A列中提供的地址發送電子郵件。 這是我到目前為止的內容:

function onOpen() {
sendemail();
}


// This constant is written in column C for rows for which an email
// has been sent successfully.
var EMAIL_SENT = 'EMAIL_SENT';
var COMPLETED = 'Completed';
/**
* Sends non-duplicate emails with data from the current spreadsheet.
*/
function sendemail() {
 var sheet = SpreadsheetApp.getActiveSheet();
 var startRow = 2; // First row of data to process
 var numRows = 400; // Number of rows to process
 var dataRange = sheet.getRange(startRow, 1, numRows, 3); //grabbing ranges 
 of values to get
 var data = dataRange.getValues(); //getting values
 var status = sheet.getRange(startRow, 8, numRows, 1); //grabbing ranges of 
 //values to get
 var data_status = status.getValues(); //getting values

//logic: if a field is populated and both Column C isn't populated, and 
//Status is Completed, populate corresponding row in column C and send email.
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var emailAddress = row[0]; // First column
var message = "";
var emailSent = row[2]; // Third column
   if (emailSent != EMAIL_SENT && data_status == COMPLETED) { // 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的影響很大,我能夠從H列中獲取所有信息,但我不確定自己在做什么錯。 問題是它不起作用。 如果我取出if語句的and部分,它將正常工作,並且如果我調試代碼,我可以看到H列給我的值數組。對於每個“完成”的值,我都需要它發送電子郵件,但是如果狀態設置為“已完成”並且列C的值為EMAIL_SENT,則我不希望發送該電子郵件。感謝您的幫助

我認為您的腳本幾乎已經完成。 我認為該腳本可以通過修改一部分來工作。 那么如何修改呢?

修改點:

  • 在您的腳本中, data_status是二維數組。 並且,當將每一行的值與“ COMPLETED”進行比較時,整個數組將進行比較。

為了將以上內容反映到您的腳本中,請進行以下修改。

來自:
 if (emailSent != EMAIL_SENT && data_status == COMPLETED) { 
至 :
 if (emailSent != EMAIL_SENT && data_status[i][0] == COMPLETED) { 

如果這不起作用,請告訴我。 我想修改它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM