Cannot read property 'getEvents' of nullというエラー文がGmailから送られてきます。
予約システムをGASで作っています。
以前は上手く稼働していたのですが、少しいじり元に戻したつもりなのですが
上手く稼働しなくなってしまいました。
GOOGLEフォームからメールアドレスや日時等の必要事項を入力し
スプレッドシートに記載。予約完了メールをGASで送信。
Gカレンダーに自動で日程入力をしています。
文のどこが悪いでしょうか?
GASも初心者なので基本的な部分が分かっていないかもしれませんが宜しくお願いいたします。
function sendToCalendar(e) { try{ //有効なGooglesプレッドシートを開く var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); //新規予約された行番号を取得 var num_row = sheet.getLastRow(); //新規予約された行から名前を取得 var nname = sheet.getRange(num_row, 2).getValue(); //メールアドレスの取得 var nmail = sheet.getRange(num_row,16).getValue(); //予約を記載するカレンダーを取得 var cals = CalendarApp.getCalendarById("Gカレンダーの"); //予約の開始時間を取得 var stime = new Date(sheet.getRange(num_row, 24).getValue()); //予約の終了時間を取得 var etime = new Date(sheet.getRange(num_row, 25).getValue()); var ndate = new Date(sheet.getRange(num_row, 6).getValue()); var ndates= new Date(ndate.getFullYear(),ndate.getMonth(),ndate.getDate()-1,stime.getHours(),stime.getMinutes(),0); var ndatee= new Date(ndate.getFullYear(),ndate.getMonth(),ndate.getDate()+1,etime.getHours(),etime.getMinutes(),0); // 先約があるかどうか調べる if(cals.getEvents(ndates, ndatee)==0){ var ncustomer = sheet.getRange(num_row,3).getValue(); var thing = nname+"殿 予約成功"; //予約情報をカレンダーに追加 var r = cals.createEvent(thing, ndates, ndatee); var thing =nname+"殿 \n\n ご予約を承りました。" MailApp.sendEmail(nmail,"ご予約完了通知",thing); } else{ var thing =nname+"様 \n\n テストをご希望の日時に先約がありましたので\n 申し訳ございませんが、ご予約出来ませんでした。" MailApp.sendEmail(nmail,"ご予約ができませんでした",thing); } } catch(exp){ //実行に失敗した時に通知 MailApp.sendEmail(nmail, exp.message, exp.message); } }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/25 04:37
2021/06/25 04:45