【问题标题】:Google Sheets - Sending email based on specific sheet in a spreadsheetGoogle 表格 - 根据电子表格中的特定表格发送电子邮件
【发布时间】:2020-01-22 21:09:26
【问题描述】:

Google Scripts 的新手,所以我对这个入门级代码很感兴趣。我想根据电子表格中的特定工作表发送电子邮件。该选项卡或工作表名为“测试 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”时如何让它运行?

谢谢!

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:
    • 你想避免"getRange" is not defined.的错误。
    • 您想从工作表Test 2 的单元格“A2:B6”中检索值。

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

    发件人:

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

    收件人:

    var dataRange = sheet.getSheetByName("Test 2").getRange("A2:B6");
    

    注意:

    • 在这种情况下,首先检索Test 2的工作表对象,并为工作表对象使用getRange的方法。
    • 我认为 a1Notation 可能适合您的情况。

    参考:

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

    【讨论】:

    • 这成功了!感谢您帮助我,这为我节省了很多时间,我很感激。
    • @Mac Grossman 感谢您的回复。很高兴您的问题得到解决。
    猜你喜欢
    • 2014-09-14
    • 1970-01-01
    • 1970-01-01
    • 2020-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多