GAS:SpreadSheet上的邮件错误

时间:2013-05-17 09:04:23

标签: javascript google-apps-script

现在,我正在尝试使用Google Apps脚本在电子表格中使用列表来发送电子邮件。

我编码(好吧,实际上只是在书上复制和粘贴示例程序),如下所示,但发生了一个错误,即“TypeError:无法调用方法”getLastRow“为null。”

  function sendMail() {
  var mySS = SpreadsheetApp.getActiveSpreadsheet();
  var mailSheet = mySS.getSheetByName("メール");  
  var addSheet = mySS.getSheetByName("住所録");
  var endRow = addSheet.getLastRow();
  var mySubject = mailSheet.getRange("C2").getValue();

  for (i = 2; i <= endRow; i++ ) {
    if (addSheet.getRange(i, 3).getValue()) {
      var myBody = addSheet.getRange(i, 1)
         .getValue() + "様¥n¥n";
      myBody = myBody + mailSheet.getRange("C3").getValue();
      var mailTo = addSheet.getRange(i, 2).getValue();
      GmailApp.sendEmail(mailTo, mySubject, myBody);
    }
  }
  Browser.msgBox("メール送信しました"); 
 }

对不起有些人包括日语,但我创建了两张名为“メール”和“住所录”的表格,然后输入数据。

有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

您的电子表格没有名为“住所录”的表格。

如果找不到工作表,getSheetByName方法不会抛出错误,只返回null

答案 1 :(得分:0)

我认为问题在于您的工作表名称是日语。 Google服务器中脚本使用的编码将有所不同。因此,它不会返回任何工作表。将您的工作表重命名为英文,它将起作用