发送电子邮件错误-Method Range.getValue

时间:2016-05-05 04:07:39

标签: google-apps-script google-sheets

我正在使用Google电子表格向我的用户发送每周电子邮件,其中包含一些指标数据。我最近收到了这个错误:

Method Range.getValue is heavily used by the script. File: Code Line: 69

这是第69行:

while (marketReportDataSheet.getRange(AGENT_NAME_ROW,currentDataColumn).getValue() != "") 
{
createMarketReport(marketReportDataSheet, currentDataColumn);
currentDataColumn += 1;
}

整个脚本的副本:http://pastebin.com/n70iLPsA

电子邮件仍然发送,但错误也在那里。我试图减少使用该方法的次数,但错误仍然存​​在。我查了一下这个错误,但即使在SO上找不到任何具体的答案。任何解决方案或指向正确方向的人都会非常感激。

1 个答案:

答案 0 :(得分:0)

  

您对GAS中列出的API进行的大多数函数调用   将需要比常规JavaScript更多的时间。在你的情况下,减少   对Range和Sheet类的调用次数

以下是您可以使用的示例代码:

  var lastCol = marketReportDataSheet.getDataRange().getLastColumn();

  var data = sheet.getRange(AGENT_NAME_ROW,currentDataColumn,1,lastCol).getValues()[0];

      for (var i = 0; i < data.length; i++) {

        if (data[i] != "" && data[i] != undefined) {
          createMarketReport(marketReportDataSheet, i+1);
        }

      }