人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Google Action Scriptに関する質問です。

メルマガの自動送信を行いたいと思っています。

その為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」を呼び出せません。」という表示がでてしまい、実行されません。こちらはどのように改善すれば送られるようになりますでしょうか?

●質問者: 匿名質問者
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● 匿名回答1号
ベストアンサー

addSheetというオブジェクト?がnullであるためエラーになっているようですね。
ですから、ご提示のコード以外の部分にバグがあると思います。addSheetを定義していたり代入していたりする部分をチェックしてみてください。


匿名回答1号さんのコメント
あ、何を言ってるんだろ、代入部分ありましたね。そうすると住所録というシートが存在しないのかもしれません。

匿名質問者さんのコメント
ありがとうございます!sheetを「新たにスプレッドシートを作る」という風に勘違いしていて、nullになっていたことに気付きました。同一ファイル内にメールというシートと住所録というシートを作りなおした所、解決しました!
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ