0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Googleカレンダーの不要な予定を自動で一括削除する方法|GAS活用

Last updated at Posted at 2025-12-07

Googleカレンダーに毎週自動で入る会議や定例の予定、参加しないのに削除するのが面倒ではありませんか?
この記事では、Google Apps Script (GAS) を使って、特定のタイトルの予定を毎週自動で一括削除する方法を紹介します。

PCを起動していなくても勝手に実行されるため、一度設定すればカレンダー整理の手間がゼロになります。コードも公開しているので、コピペですぐに使えます。

はじめに

日々の業務でGoogleカレンダーを使っていると、「毎週自動的に入ってくるけれど、実際には参加しない(または表示不要な)会議や予定」が溜まっていくことはありませんか?

  • 聴講不要になった定例会議
  • 自動登録されるリマインダーや移動時間
  • 完了済みの定期タスク

これらを毎回手動で削除するのは手間ですし、不要な予定でカレンダーが埋め尽くされていると、本当に重要なスケジュールを見落とす原因にもなります。

そこで今回は、Gemini (生成AI) に相談をして、これらの不要な予定を毎週自動で一括削除する Google Apps Script (GAS) を作成しました。

「プログラミングは少し苦手...」という方でも問題ありません。Geminiが生成してくれたコードをコピペするだけで、PCの電源が入っていなくても勝手にカレンダーを掃除してくれる仕組みが完成します。

一度設定してしまえば、カレンダー整理のストレスから完全に解放されます。その手順とコードを共有します。


今回やったこと

  1. Google Apps Script (GAS) で削除スクリプトを作成
  2. 削除したい予定のタイトルをリスト化(複数指定可)
  3. 「トリガー」を設定して、毎週決まった時間に自動実行させる

手順1:スクリプトの作成

  1. PCでブラウザを開き、script.google.com にアクセス。
    image.png

  2. 「新しいプロジェクト」を作成。

  3. 以下のコードをコピペします。

function deleteUnwantedEvents() {
  // --- 設定エリア ---
  const calendarId = 'primary'; // 自分のカレンダー
  
  // 削除したい予定のタイトルを、カンマ区切りで複数指定します
  // ※完全一致で検索されます
  const targetTitles = [
    '定例会議(聴講のみ)', 
    '移動時間', 
    '不要なリマインダー'
  ]; 
  
  const startDate = new Date();
  const endDate = new Date();
  endDate.setMonth(endDate.getMonth() + 3); // 向こう3ヶ月分を対象
  // ----------------
  
  const calendar = CalendarApp.getCalendarById(calendarId);
  const events = calendar.getEvents(startDate, endDate);
  
  let count = 0;
  
  events.forEach(function(event) {
    const title = event.getTitle();
    
    // リストの中に、今の予定のタイトルが含まれているか確認
    if (targetTitles.includes(title)) {
      event.deleteEvent();
      console.log('削除しました: ' + title + ' (' + event.getStartTime() + ')');
      count++;
    }
  });
  
  console.log('合計 ' + count + ' 件の予定を削除しました。');
}

image.png

targetTitles の部分を、自分の消したい予定の名前に書き換えて保存します。


手順2:自動実行(トリガー)の設定

スクリプトを書いただけでは動かないので、定期実行のタイマーをセットします。ここがポイントです。

1 . 左メニューの「トリガー(目覚まし時計アイコン)」をクリック。
image.png

2 . 右下の「トリガーを追加」を選択。
image.png

3 . 以下のように設定します。
* イベントのソース: 時間主導型
* タイプ: 週ベースのタイマー
* 曜日: 月曜日(不要な予定が入った後のタイミングで)
* 時刻: 午前 8時 ~ 9時(業務開始前など)

これで保存すれば完了です(初回のみGoogleのアクセス権限承認が必要です)。


初回実行時の承認(権限許可)プロセス

スクリプトを初めて実行する際、Googleアカウントへのアクセス権限を求めるポップアップが表示されます。以下の手順で承認を行ってください。
※この操作は初回のみ必要です。

1. 「承認が必要です」と表示されたら、「権限を確認」をクリックします。

image.png

2. 警告画面が出ますが驚かずに、左下の「詳細(Advanced)」をクリックします。
※Googleの審査を通していない自作アプリのため警告が出ますが、自分用なので問題ありません。

image.png

3. 画面下に開いたリンク「[プロジェクト名](安全ではないページ)に移動」をクリックします。

image.png

4. 最後にアクセス権限の内容を確認し、「許可」をクリックします。

image.png


結果とメリット

この設定をしておくと、以下のメリットがあります。

  • 完全放置でOK: Googleのサーバー上で動くため、PCの電源を切っていても、寝ていても勝手に実行されます。
  • スマホからもスッキリ: カレンダーアプリを開いたときには既に不要な予定が消えている状態になります。
  • 精神衛生上良い: 「行かない予定」がカレンダーを埋め尽くすストレスから解放されます。

簡単なスクリプトですが、カレンダーの見やすさが劇的に変わるのでおすすめです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?