したがって、次のスクリプトは、選択した範囲にカレンダーのイベントがない場合に正常に機能します。これが一度実行されると、すべてのイベントが正しく投稿されます。スケジュールに変更があり、同じ範囲がスクリプトで実行された場合、次のエラーがスローされます。カレンダーエラーではなく、なぜそのエラーなのか少し戸惑っています。カレンダーを手動で消去し、スクリプトを再実行すると、正しく投稿されます。
TypeError: undefined からプロパティ "4" を読み取れません。(30行目)
コード:
function addCrewsToCalendar() {
var humCalendar = CalendarApp.getCalendarById(ScriptProperties.getProperty('humCalendar'));
var glsCalendar = CalendarApp.getCalendarById(ScriptProperties.getProperty('glsCalendar'));
var range = SpreadsheetApp.getActiveRange().getValues();
for (var i in range){
//Date Params
var startTime = range[i][1];
var endTime = range[i][2];
var recurrence = CalendarApp.newRecurrence().addDailyRule().times(7);
//Houma Air Crew
var humSO = range[i][3];
var humRS1 = range[i][5];
var humRSw = range[i][7];
//Set Houma Calendar
//Post Houma Schedule
humCalendar.createAllDayEventSeries('HUM RS1: '+humRS1, startTime, recurrence);
humCalendar.createAllDayEventSeries('HUM SO: '+humSO, startTime, recurrence);
humCalendar.createAllDayEventSeries('HUM RSw: '+humRSw, startTime, recurrence);
//Galveston Air Crew
var glsSO = range[i][4];
var glsRS1 = range[i][6];
var glsRSw = range[i][8];
//Set Galveston Calendar
//Remove any events so there are no duplicates
var glsEvents = glsCalendar.getEvents(startTime, endTime);
for (var i in glsEvents){
glsEvents[i].deleteEvent();
}
//Post GLS Schedule
glsCalendar.createAllDayEventSeries('GLS RS1: '+glsRS1, startTime, recurrence);
glsCalendar.createAllDayEventSeries('GLS SO: '+glsSO, startTime, recurrence);
glsCalendar.createAllDayEventSeries('GLS RSw: '+glsRSw, startTime, recurrence);
}
}
私は単純なものが欠けていると確信しています。
ありがとうございます。