メニュー

キレイデザインの齋藤です。キレイデザインはGoogleカレンダーに空き日を表記しています。
その空き日が前日に自動で削除されないかな…と思いこのスクリプトを作成しました。
Googleカレンダーの予定を自動削除する方法
Google Apps Script を開く
まず、Google Apps Script を開き、新しいプロジェクトを作成します。
- Google Apps Script にアクセス
- 「新しいプロジェクトを作成」をクリック
スクリプトを貼り付ける
以下のコードをエディタに貼り付けて、カレンダーIDを設定してください。
function deleteEventsBefore() {
var calendarId = "あなたのカレンダーID"; // ここにカレンダーIDを入れる
var calendar = CalendarApp.getCalendarById(calendarId);
if (!calendar) {
Logger.log("カレンダーが見つかりません。カレンダーIDを確認してください。");
return;
}
var now = new Date();
var tomorrow = new Date(now.getFullYear(), now.getMonth(), now.getDate() + 1);
var events = calendar.getEventsForDay(tomorrow);
for (var i = 0; i < events.length; i++) {
var event = events[i];
if (event.getTitle().includes("削除対象")) {
event.deleteEvent();
Logger.log("削除しました: " + event.getTitle());
}
}
}
カレンダーIDを取得する
GoogleカレンダーのIDを取得し、スクリプトに設定します。
- Google カレンダー を開く
- 左側の「マイカレンダー」から対象のカレンダーを探す
- カレンダー名の「︙(3点メニュー)」→「設定と共有」をクリック
- 「カレンダーの統合」セクションで「カレンダーID」をコピー
- スクリプトの
calendarId = "ここにカレンダーID";
を変更
自動実行の設定(トリガー設定)
スクリプトを毎日自動で実行するためのトリガーを設定します。
- Apps Script の左側メニューで「時計マーク(⏰)」をクリック
- 「トリガーを追加」ボタンをクリック
- 以下の設定を行う
- 実行する関数 → deleteEventsBefore
- イベントのソース → 時間主導型
- 時間ベースのトリガー → 日付ベースのタイマー
- 時刻 → 例:「午前3時~4時」
- 「保存」ボタンをクリック
まとめ
このスクリプトを使えば、Googleカレンダーの「削除対象」イベントを前日に自動削除できます。
一度設定すれば、カレンダーを常に整理された状態に保つことができます。