【问题标题】:Automatic Email from Google Sheets with email from row来自 Google 表格的自动电子邮件以及来自行的电子邮件
【发布时间】:2016-09-26 23:45:00
【问题描述】:

我正在尝试将此代码应用于我用来跟踪名称更改请求的谷歌表。客户提交了一个表格,当他们没有提交所有必需的信息时,我从电子表格的下拉列表中选择拒绝。当客户提交表单时,我让表单收集用户名。我想知道是否可以修改下面的代码以从状态已更改的活动单元格的行中获取电子邮件地址,并通过电子邮件通知客户他们的请求被拒绝。

function sendEmail(email_address, email_subject, email_message) {
  var status = ScriptProperties.getProperty('Order Status') + "";
  var value = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("FCNC        Responses").getActiveCell().getValue().toString();
  if (value.match("Rejected" ) && status.match("")) { 
    ScriptProperties.setProperty('Order Status', '') 
    MailApp.sendEmail('username@nps.gov', 'Rejected Fleet Card Name Change', '.    Fleer User, Please review the Fleet Card Name Change page for Status Updates.": ');
  }
  else { 
    if (!value.match("Rejected" )) 
      ScriptProperties.setProperty('Order Status', '') 
  }
}

【问题讨论】:

  • auto 标签不适用于此处。至少包含您正在使用的编程语言的标签。
  • 谢谢 - 我是新手,谢谢你帮助我了解方向。

标签: email google-apps-script google-sheets


【解决方案1】:

您可以通过 dataRange.getValues() 使用函数。

getValues()

  • 返回此范围的矩形网格值。返回值的二维数组,按行索引,然后按列。这些值的类型可能是 NumberBooleanDateString ,取决于单元格的值。空单元格将由数组中的空字符串表示。请记住,虽然范围索引从 1, 1 开始,但 JavaScript 数组将从 [0][0] 开始索引。

这是来自相关SO question的代码示例:

function findCell() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var dataRange = sheet.getDataRange();
  var values = dataRange.getValues();

  for (var i = 0; i < values.length; i++) {
    var row = "";
    for (var j = 0; j < values[i].length; j++) { 
      if (values[i][j] == "User") {
        row = values[i][j+1];
        Logger.log(row);
        Logger.log(i); // This is your row number
      }
    } 
  } 
}

如果特定单元格的值被拒绝,您可以从那里添加将发送电子邮件的代码。

编码愉快,希望对您有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-30
    • 1970-01-01
    • 2010-09-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多