前提・実現したいこと
スプレッドシートから一括でイベント登録したいのですが、説明(「説明を追加」の欄)に追加できません。
「undefined」になっているようで、値が引用できないようです。
解決策をご教示頂けませんでしょうか?
当方GAS初心者です。
発生している問題・エラーメッセージ
追加されたイベントの説明欄に何も入っていません。
該当のソースコード
GAS
1//予定を作成する関数 2function CreateSchedule() { 3 var ss = SpreadsheetApp.getActiveSpreadsheet(); 4 var slist = ss.getSheetByName('一覧'); 5 var lastrow = slist.getLastRow(); 6 7 //予定一覧・カレンダー名・カレンダーID 8 var contents = slist.getRange(2, 1, lastrow, 11).getValues(); 9 var calendar = CalendarApp.getCalendarById('') 10 11 //順に予定を作成 12 for(i = 0; i <= lastrow - 2; i++) { 13 14 //登録フラグが「〇」になっていたら登録しない 15 if (contents[i][0] == '〇') { 16 }else if(contents[i][0] == '') { 17 18 //予定のコンテンツを取得 19 var eventday = new Date(contents[i][9]); 20 var starttime = new Date(contents[i][10]); 21 var description = contents[i][12]; 22 23 //予定日をフォーマットして格納 24 var y = eventday.getFullYear(); 25 var m = eventday.getMonth(); 26 var d = eventday.getDate(); 27 28 //開始時刻をstartへ格納 29 var H = starttime.getHours();//starttimeの時間を取得してHへ格納 30 var M = starttime.getMinutes();//starttimeの時間を取得してMへ格納 31 var S = starttime.getSeconds();//starttimeの時間を取得してSへ格納 32 var start = new Date(y,m,d,H,M,S); //日付データに整形 33 34 //コース別 35 if(contents[i][3].match(/S/)) { //終了時刻をendへ格納 36 var end = new Date(y,m,d,H+1,M,S); 37 }else if(contents[i][3].match(/S/)){ 38 var end = new Date(y,m,d,H+2,M,S); 39 } 40 //イベント名生成 41 var title = contents[i][4]+'-'+contents[i][5] 42 43 //イベントの色指定 44 if(contents[i][3].match(/家族/)) { 45 var color = '10'} //Green 46 else if (contents[i][3].match(/友人/)) { 47 var color = '9'} //Blue 48 49 //予定を作成 50 var event = calendar.createEvent(title, start, end, //予約作成 51 {description: description 52 }); 53 event.setColor(color) 54 } 55 56 //予定が作成されたら「〇」にする 57 slist.getRange(i + 2, 1).setValue('〇'); 58 59 } 60 } 61}
補足情報(FW/ツールのバージョンなど)
descriptionで指定したセルには、
「当日弁当持参」
「小学四年生3名」
「【大人3名】」
などGmailから抽出した文字列が入っています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/29 01:09