下記の記事を参考にして、GASを組んでみたのですが、タイプエラーが表示されます。
原因がどうしてもわからないので、わかる方いたら教えてほしいです。
http://tech.innovation.co.jp/2016/11/24/G-A-S.html
TypeError: values[i][2].getDate is not a function(行 19、ファイル「コード」)
A列 B列 C列 D列 E列
名前 生年月日 日付 メールアドレス 件名
内容は別シートに「本文」というものを作成しています。
何卒よろしくお願いいたします。
GAS
1 2function myFunction() { 3 var sh_id = SpreadsheetApp.openById('???') // どのシートを使うか指定 4 var rows = sh_id.getDataRange(); 5 var num_rows = rows.getNumRows(); 6 var values = rows.getValues(); //rowsにセルの情報、num_rowsに値が入っているセルの最大列数、valuesにセルに入っている値の情報が入る。 7 8 var today = new Date(); 9 var this_day = today.getDate(); 10 var this_month = today.getMonth() + 1; //今日の日付を取得 11 12 var name = ""; 13 var to = ""; 14 15 var subject = sh_id.getRange("E2").getValue(); //タイトル 16 17 18 //ループ処理 19 for(var i = 1;i < num_rows;i++){ 20 var birthday = values[i][2].getDate(); 21 var birthmonth = values[i][2].getMonth() + 1; 22 const FullName = sh_id.getRange(i,0).getValue(); //名前 23 24 //誕生日であればメール送信 25 if(birthday == this_day && birthmonth == this_month){ 26 name = values[i][0]; 27 to = values[i][3]; 28 if(values[i][4] != ""){ 29 subject = values[i][4]; 30 } 31 } 32 } 33 34 const text = sheet.getSheetByName('本文').getRange(1,1).getValue; //本文 35 const body = text 36 .replace(/{名前}/g,FullName) 37 38 // 出力 39 if (to != ""){ 40 body += name + "\n" + body; 41 GmailApp.sendEmail(to, subject, body); 42 } 43 }
回答1件
あなたの回答
tips
プレビュー