予定の追加・削除
//カレンダーオブジェクト取得
const calendar = CalendarApp.getCalendarById("カレンダーID");
予定追加例
const start = new Date('2026/06/28 15:00');
const end = new Date('2026/06/28 18:00');
calendar.createEvent('タイトル',start,end);
//終日予定追加例①
const date = new Date('2026/01/01');
calendar.createAllDayEvent('タイトル',date);
//イベントIDを取得しておく場合
const event = calendar.createAllDayEvent('タイトル',date);
const id = event.getId();
//終日予定追加例②
const startDate = new Date('2026/03/01');
const endDate = new Date('2026/03/10');
calendar.createAllDayEvent('タイトル',startDate,endDate);
//オプションをつけて説明や場所など追加する場合
※locationは地図が表示されるので設定するなら住所または座標
const option = {
'description':'説明',
'location':'場所',
'guests': 'ゲストメールアドレス',
'sendInvites':false,//招待するしない
};
calendar.createEvent('タイトル',start,end,option);
その他(色・タグ)の設定例
const ev = calendar.createEvent('タイトル', start, end);
ev.setDescription('説明');//説明を追加する場合
ev.setColor('11');//色の設定(1~11)
//タグを設定する場合
ev.setTag('key1', 'value1');
ev.setTag('key2', 'value2');
setTitle(title) イベントのタイトルを設定*
setTime(startTime, endTime) イベントの開始時間と終了時間を設定
getStartTime() 開始時間取得*
getEndTime() 終了時間取得*
setDescription(description) イベントの説明を設定*
removeGuest(email) ゲストメールを削除
setAllDayDate(date) 終日イベントの日付を設定
setColor(color) 色を設定*
setLocation(location)*
*set/get両方のメソッドあり
色番号
1 PALE_BLUE
2 PALE_GREEN
3 MAUVE
4 PALE_RED
5 YELLOW
6 ORANGE
7 CYAN
8 GRAY
9 BLUE
10 GREEN
11 RED
公開・非公開設定
const visibility = CalendarApp.Visibility.PUBLIC;//公開
//const visibility = CalendarApp.Visibility.PRIVATE;//非公開 (カレンダー上には"予定あり"とだけ表示される)
//ev.setVisibility(visibility);
予定の削除
※指定期間の予定を一気に削除するケース
※特定の予定を削除する場合は、予定作成時にイベントIDを取得・保存がおすすめ
const events = calender.getEvents(startDate, endDate);//期間内のイベントを取得
for (var i = 0; i < events.length; i++) {
events[i].deleteEvent();//----------------- カレンダーから予定を削除
}
※イベントIDがわかっている場合
const event = calendar.getEventById(イベントID);
event.deleteEvent();
繰り返し処理
追加する予定が、毎週・隔週など繰り返す場合の設定方法です
const recurrence = CalendarApp.newRecurrence();
const evTitle = 'タイトル';
const start = new Date('2026/04/13 15:00');//基準日開始
const end = new Date('2026/04/13 18:00');//基準日終了
const last = new Date('2026/05/30 18:00');//最終日
※ルール(ここではrule)設定後、次のようにcreateEventSeries()でカレンダーに追加します
let ev = calendar.createEventSeries(
evTitle,
start,
end,
rule
);
evid = ev.getId();//一括削除用にID取得
1.毎日
パターンの作り方例
const rule = recurrence.addDailyRule();//期限なし
const rule = recurrence.addDailyRule().until(last);//期限あり
const rule = recurrence.addDailyRule().times(5);//回数指定(毎日5日間の場合)
const rule = recurrence.addDailyRule().interval(3);//3日毎(2日おき)期限なし
const rule = recurrence.addDailyRule().interval(3).times(3);//3日毎(2日おき)3回限定
2.毎週・毎月
※開始日を基準に隔週(1週おき)・回数の設定パターンは上記と同じ
const rule = recurrence.addWeeklyRule();//毎週
const rule = recurrence.addMonthlyRule();//毎月
3.特定の曜日指定
※開始日が、指定されている曜日ではない場合も追加されます
※火曜・木曜、隔週、最終日指定ありの例
const rule = recurrence.addWeeklyRule().onlyOnWeekdays(
[CalendarApp.Weekday.TUESDAY, CalendarApp.Weekday.THURSDAY]).interval(2).until(last);
4.月の指定日
※毎月1日、15日指定の例
※開始日が、指定日ではない場合も追加されます
const rule = recurrence.addMonthlyRule().onlyOnMonthDays([1, 15]);