过滤标准电子邮件报告

问题描述:

我希望收到每日报告中未在我的电子表格中标记为“已完成”的项目。我有将通过电子邮件发送报告的代码,但我需要添加一行或两行代码,以过滤出状态不等于“已完成”的任何内容。此外,随着此项目的增长,我想添加功能以根据多个项目进行过滤(例如,仅显示Col D中标记为完成的项目,并将其分配给Col B中的Greg)。过滤标准电子邮件报告

片是在这里:https://docs.google.com/spreadsheets/d/1jA4XQa7MgQI7OOLwCcmGv7BcUKSjdIPyh6B0CeQI-PI/edit#gid=0

因为目前的情况是我的代码...

function emailStatusReport() { 

    // Set variables. 
    var x = 13; 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheetName = ss.getSheetByName('data'); 
    var template = HtmlService.createTemplateFromFile("report.html"); 
    var message; 
    var subject; 
    var emailQuotaRemaining = MailApp.getRemainingDailyQuota();  
    var theRange = ss.getDataRange(); 
    var completeMessage = ""; 
    //Logger.log(theRang.getA1Notation()); 
    var theManualRange = ss.getRange("A1:C7"); 
    // var dateTimeStamp = now(); 
    var vals = theManualRange.getValues(); 
     for(i=0; i<vals.length; i++){ 
     var itemNumber = vals[i][0]; 
     var title = vals[i][1]; 
     var description = vals[i][2]; 
     // Logger.log(itemNumber + " " + title + " " + description + " "); 
     completeMessage = completeMessage + ("<BR>" + itemNumber + " " + title + " " + description + "</BR>"); 
      } 

      Logger.log(completeMessage); 

// Logger.log (x); 
// Logger.log (ss); 
// Logger.log (sheetName); 
// Logger.log ("Remaining email quota: " + emailQuotaRemaining); 
// Logger.log (vals[i][0]); 



subject = "Daily Status Report TEST..." 
message = "<HTML><BODY>" +   
     "<Font Face='verdana' color='green' size='2'>" + 
     "<P><P><B>Daily Status Report TEST</B>" + 
     "<P>Please review the report listed below. " + 
      // "<P>The value of x is " + x + "." + 

     "<P>" + completeMessage + 
     "<P><P>" + 
     "For the most up-to-date information, please visit: <BR>" + 
     "https://docs.google.com/spreadsheets/d/1jA4XQa7MgQI7OOLwCcmGv7BcUKSjdIPyh6B0CeQI-PI/edit#gid=0" + 
     "<P>" + 

     "<P><B>Make it an amazing day!</B>" + 

      // "<P>Report generated at: " + dateTimeStamp + ". " + 
     "<P>Remaining daily email quota: " + emailQuotaRemaining + ". " +   
      // "<P>This report runs between ___ AM and ___ AM." + 

      "</HTML></BODY>"; 


MailApp.sendEmail("[email protected]", subject, "", {htmlBody: message}); 


// Logger.log("Subject is :" + subject); 
// Logger.log("Message is: " + message); 




} 

对于你的问题:要接收未标记项目的每日报告“已完成”

首先改变手动量程,包括状态栏:

var theManualRange = ss.getRange("A1:D7"); 

然后将您的for循环更改为:

for(i=0; i<vals.length; i++){ 
     var itemNumber = vals[i][0]; 
     var title = vals[i][1]; 
     var description = vals[i][2]; 
     var status = vals[i][3]; 

     // Logger.log(itemNumber + " " + title + " " + description + " "); 
     if (status != 'Completed') { 
     completeMessage = completeMessage + ("<BR>" + itemNumber + " " + title + " " + description + "</BR>"); 
     } 
      }