function createEvents_(cal) { // スプレッドシートと含まれるシート配列 var gomiSpreadsheet = SpreadsheetApp.getActiveSpreadsheet(); var gomiSheets = gomiSpreadsheet.getSheets(); // シートの最終行 var lastRow; // 名前(収集日の種類) var name; // 日付(収集日) var date; // ごみ収集日 var gomiEvent; Logger.log('GomiSheets:' + gomiSheets.length); Logger.log('Cal:' + cal.getName()); // 全てのシートの、全ての行を処理 for (var s in gomiSheets) { lastRow = gomiSheets[s].getLastRow(); Logger.log('Prosess Sheet:' + gomiSheets[s].getName()); for ( var r = 2; r <= lastRow ; r++ ) { name = gomiSheets[s].getRange(r, 1).getValue(); date = gomiSheets[s].getRange(r, 2).getValue(); Logger.log('Create GomiEvent1:' + r.toString() + ':' + name + ' ' + date.toString()); // イベントを追加 gomiEvent = cal.createAllDayEvent(name, date); // Logger.log('Create GomiEvent2:' + gomiEvent.getStartTime().toString() + ' ' + gomiEvent.getEndTime().toString()); } } } function createGomiCal() { // カレンダーのタイムゾーン設定 var optArgs = {timeZone:'Asia/Tokyo'}; // 既存のカレンダーを取得 あるいは カレンダーを作成 var GomiCals = CalendarApp.getOwnedCalendarsByName('町田市ゴミ収集4'); var GomiCal = GomiCals[0]; if ( GomiCal ) { Logger.log('Get GomiCal:' + GomiCal.getId()); } else { GomiCal = CalendarApp.createCalendar('町田市ゴミ収集4', optArgs); Logger.log('Create GomiCal:' + GomiCal.getId()); } Logger.log('GomiCal TimeZone:' + GomiCal.getTimeZone()); // 既存のイベントを全て削除 var GomiEvents = GomiCal.getEvents(new Date('2001/01/01'), new Date('2020/12/31')); Logger.log('GomiEvents:' + GomiEvents.length); for (var e in GomiEvents) { Logger.log('Delete GomiCal:' + GomiEvents[e].getId()); GomiEvents[e].deleteEvent(); } // カレンダーにごみ収集日を設定 var dummy = createEvents_(GomiCal); }