Google表格-根据电子表格中的特定表格发送电子邮件

时间:2020-01-22 21:09:26

标签: google-apps-script google-sheets

对于Google脚本来说是新手,所以我对这个入门级代码不屑一顾。我想基于电子表格中的特定工作表发送电子邮件。该标签或工作表名为“测试2”。目前这是我的代码。

/* Sends emails with data from the current spreadsheet.*/
    function sendEmails() {
      var sheet = SpreadsheetApp.getActiveSpreadsheet();
      var startRow = 2; // First row of data to process
      var numRows = 2; // Number of rows to process
      var dataRange = getRange(startRow, 1, numRows, 2); // Fetch the range of cells A2:B6
      var data = dataRange.getValues(); // Fetch values for each row in the Range.
      for (var i in data) {
        var row = data[i];
        var emailAddress = row[0]; // First column
        var message = row[1]; // Second column
        var subject = 'THIS IS A TEST';
        MailApp.sendEmail(emailAddress, subject, message);
      }
    }

现在,它抛出此错误。

ReferenceError: "getRange" is not defined. (line 8, file "Code")

如何在引用“测试2”工作表时使其运行?

谢谢!

1 个答案:

答案 0 :(得分:0)

  • 您要避免出现 TextInfo textInfo = Thread.CurrentThread.CurrentCulture.TextInfo; string resultStr = textInfo.ToTitleCase("firstname secondname"); 错误。
  • 您要从工作表"getRange" is not defined.的单元格“ A2:B6”中检索值。

如果我的理解是正确的,那么下面的修改如何?

发件人:

Test 2

收件人:

var dataRange = getRange(startRow, 1, numRows, 2);

注意:

  • 在这种情况下,首先检索var dataRange = sheet.getSheetByName("Test 2").getRange("A2:B6"); 的工作表对象,并对工作表对象使用Test 2的方法。
  • 我认为a1Notation可能适合您的情况。

参考:

如果我误解了您的问题,而这不是您想要的方向,我深表歉意。