Google Spreadsheets和有条件的电子邮件发送问题

时间:2019-12-13 20:25:05

标签: javascript spreadsheet

我花了整整一天时间来进行这项跑步。不幸的是我没有编程能力。通常,我会窃取所有可以找到的代码片段并从中汇编代码。这次似乎真的很卡住。我有一张充满信息的8x18单元格的表格。

但是,首先我要过滤当天的数据(列:C)。

  <snip>

  function gaming() {
  // Get  date value
  var date_range = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("C11:C30");
  var date_value = date_range.getValue();
  var today = new Date();
  if (date_value = today ) { an email will be send }

  </snip>

这工作得很好-我有点惊讶。但是现在我还有另一列“ E”(结果)。我现在希望脚本在标识了当前日期所在的列/行(让我们说“ C2”)之后,简单地移至“ E2”,其中“ result”的值位于此并将该值放入变量中。完成此操作后,我可以在电子邮件模板中使用var“ today”和var“ result”,例如:

“今天您好,今天是今天,结果是今天”。

(我想我在这里搞砸了,因为我简直无法想象如何教脚本我想要做什么。)

简而言之,我希望脚本标识当前日期+结果(无论此值是多少,我都不会在意)。如果找到两个条件(它们都应该存在,因为所有8x18单元格值都存在),我希望脚本发送一封电子邮件。

// Fetch the email address 1
var emailRange1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("mail").getRange("B2");
var emailAddress1 = emailRange1.getValues();
var nameRange1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("mail").getRange("A2");
var nameRecipient1 = nameRange1.getValue();

// Fetch the email address 2
var emailRange2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("mail").getRange("B3");
var emailAddress2 = emailRange2.getValues();
var nameRange2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("mail").getRange("A3");
var nameRecipient2 = nameRange2.getValue();

// Send Alert Email.
var message = 'Hi ' + nameRecipient1 + ' , Hi ' + nameRecipient2 + ' this is a test mail!';
var subject = 'refuse';
MailApp.sendEmail(emailAddress1, emailAddress2, subject, message);

谢谢您的照顾。

亲切的宠物,

bLinDy *

/编辑:

为了自卫,我想提一提,我不知道能否将那么多信息(几个单元格)保存到一个变量中。

var date_value = date_range.getValue();

所以我尝试了“数组”,但是我无法实现。我的想法是无论如何都要在工作表中查询“从C:C查找今天()。如果在( 可以说)C15移到E15并将值保存到变量“结果””。

再次感谢。

0 个答案:

没有答案