メルマガの自動送信を行いたいと思っています。
その為Google クラウドスクリプティングという本を購入し、p158の以下のコードを実行しました。※コード自体はhttp://book.mycom.co.jp/support/pc/gas/に公開されています。
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("メール送信しました");
}
すると「TypeError: null のメソッド「getLastRow」を呼び出せません。」という表示がでてしまい、実行されません。こちらはどのように改善すれば送られるようになりますでしょうか?
addSheetというオブジェクト?がnullであるためエラーになっているようですね。
ですから、ご提示のコード以外の部分にバグがあると思います。addSheetを定義していたり代入していたりする部分をチェックしてみてください。