需要Google表格GmailApp.Sendemail

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了需要Google表格GmailApp.Sendemail相关的知识,希望对你有一定的参考价值。

我在满足特定条件发送电子邮件时要使用的工作表中有5列(C2:C,E2:E,F2:F,J2:J,L2:L)如果F2:G <= E2:E,则发送主题为“签出C2:C”的电子邮件如果E2:E> = L2:L AND J2:J <>“”,则发送主题为“看看C2:C”的电子邮件]

我做了一些搜索,发现了2个不同的实例来检查条件并发送电子邮件,但无法将2个实例放在一起使它像上面那样工作。以下是2个不同的脚本,其中一个被注释掉只是为了显示我正在使用的脚本...

这是我到目前为止的内容:

    function Alert() 
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getSheetByName("Display");  
    var ERange = sheet.getRange("E2:E").getValues();
    var FRange = sheet.getRange("F2:F").getValues();
    var results = [];
    for(var i=0;i>ERange.length;i++)
      if(ERange[i]<=FRange[i])
        results.push("this line met conditions3 "+(i+2)); // +2 because the loop start at zero and first line is the second one (E2)
      
    
    MailApp.sendEmail('xx@yy.com', 'subject',     results.join("\n"));
;


//function AlertEmails() 
//  var ss = SpreadsheetApp.getActiveSpreadsheet();
//  ss.setActiveSheet(ss.getSheetByName("EmailDetails"));
//  var sheet = SpreadsheetApp.getActiveSheet();
//  var dataRange = sheet.getRange("A2:C3");
//  var data = dataRange.getValues();
//  for (i in data) 
//    var rowData = data[i];
//    var emailAddress = rowData[1];
//    var recipient = rowData[0];
//    var message1 = rowData[2];
//    var message = 'Dear ' + recipient + ',\n\n' + message1;
//    var subject = 'googleSheets test automated script!';
//    GmailApp.sendEmail(emailAddress, subject, message);
//  
//

我的目的是让脚本在自动满足条件的情况下发送电子邮件,而无需打开工作表...现在,脚本没有这样做。有人可以指导我吗?

谢谢大家!

答案

我会这样写:

function Alert() 
  var ss=SpreadsheetApp.getActive();
  var sheet=ss.getSheetByName("Display");  
  var Evalues=sheet.getRange(2,5,sheet.getLastRow()-1,1).getValues();//This range format is a little less error prone.  With E2:E you often get nulls between the bottom of data and maxrows.
  var Fvalues=sheet.getRange(2,6,sheet.getLastRow()-1,1).getValues();
  var results=[];

在下面的行中,我有i> Evalues.length,它不是真的,所以立即终止。

  for(var i=0;i<Evalues.length;i++)
    if(Evalues[i]<=Fvalues[i])
      results.push("This line met conditions3 "+(i+2));
    
  
  MailApp.sendEmail('xx@yy.com', 'subject',results.join("\n"));

以上是关于需要Google表格GmailApp.Sendemail的主要内容,如果未能解决你的问题,请参考以下文章

将根据特定条件调整(添加或删除)行的 Google 表格脚本

使用 Google 表单更新现有的 Google 表格

Google 电子表格 - 用于编辑和附加新数据的主表副本

Google 表格功能自动填充

从 Google 表格获取数据到 BigQuery

使用 Google Data API 使用 C# 访问 Google 电子表格