匿名質問者
匿名質問者匿名質問者とは「匿名質問」を利用して質問した質問者。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら

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人5回まで
  • 13歳以上
  • 登録:2013/05/17 15:37:21
  • 終了:2013/05/24 15:40:05

ベストアンサー

匿名回答1号 No.1

匿名回答1号「匿名質問」を利用した質問に回答すると「匿名回答○号」と匿名で表示されます。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら
2013/05/18 10:40:26

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

匿名回答1号

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

2013/05/18 10:50:58
匿名質問者

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

2013/05/18 10:58:16

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません