【GAS】を使って日本の休日をGoogleカレンダーへ一括登録する方法

calendar

Googleカレンダーに日本の祝日を一括で登録する方法をご存知ですか?
この記事では、Google Apps Script(GAS)を使って、簡単に日本の祝日をGoogleカレンダーに一括登録する方法を初心者向けに解説します。プログラミングの知識がなくても大丈夫です!ステップバイステップで説明しますので、ぜひ試してみてください。

はじめに

Googleカレンダーは、多くの人が予定管理に利用している便利なツールです。しかし、日本の祝日を一つ一つ手動で登録するのは面倒ですよね。そんなときに役立つのがGoogle Apps Script(GAS)です。GASを使えば、簡単に日本の祝日を一括でGoogleカレンダーに登録することができます。

アウトプットイメージ

利用したデータ

元日	1月1日	
成人の日	1月8日	
建国記念の日	2月11日	
休日	2月12日	祝日法第3条第2項による休日
天皇誕生日	2月23日	
春分の日	3月20日	
昭和の日	4月29日	
憲法記念日	5月3日	
みどりの日	5月4日	
こどもの日	5月5日	
休日	5月6日	祝日法第3条第2項による休日
海の日	7月15日	
山の日	8月11日	
休日	8月12日	祝日法第3条第2項による休日
敬老の日	9月16日	
秋分の日	9月22日	
休日	9月23日	祝日法第3条第2項による休日
スポーツの日	10月14日	
文化の日	11月3日	
休日	11月4日	祝日法第3条第2項による休日
勤労感謝の日	11月23日

引用:内閣府(国民の祝日について)https://www8.cao.go.jp/chosei/shukujitsu/gaiyou.html

Google Apps Script(GAS)とは?

Google Apps Scriptは、Googleのサービスを自動化するためのスクリプト言語です。Googleドライブやスプレッドシート、カレンダーなど、さまざまなGoogleサービスと連携することができます。プログラミング経験がなくても、簡単なコードを書くだけで、日常の作業を自動化できます。

必要な準備

まず、Googleアカウントが必要です。次に、Google Apps Scriptを使うために、スクリプトエディタにアクセスします。以下の手順で進めてください。

  1. Google ドライブを開きます。
  2. 左上の「新規」ボタンをクリックし、「その他」 > 「Google Apps Script」を選択します。

スクリプトの作成方法

次に、以下のコードをスクリプトエディタにコピーして貼り付けます。このコードは、日本の祝日をGoogleカレンダーに一括で登録するものです。

function addJapaneseHolidaysToCalendar() {
  const calendarId = 'primary'; // 'primary'はデフォルトのカレンダーを指します。他のカレンダーを使う場合はIDを設定してください
  const holidays = [
    { name: "元日", date: "2024-01-01" },
    { name: "成人の日", date: "2024-01-08" },
    { name: "建国記念の日", date: "2024-02-11" },
    { name: "休日", date: "2024-02-12" },
    { name: "天皇誕生日", date: "2024-02-23" },
    { name: "春分の日", date: "2024-03-20" },
    { name: "昭和の日", date: "2024-04-29" },
    { name: "憲法記念日", date: "2024-05-03" },
    { name: "みどりの日", date: "2024-05-04" },
    { name: "こどもの日", date: "2024-05-05" },
    { name: "休日", date: "2024-05-06" },
    { name: "海の日", date: "2024-07-15" },
    { name: "山の日", date: "2024-08-11" },
    { name: "休日", date: "2024-08-12" },
    { name: "敬老の日", date: "2024-09-16" },
    { name: "秋分の日", date: "2024-09-22" },
    { name: "休日", date: "2024-09-23" },
    { name: "スポーツの日", date: "2024-10-14" },
    { name: "文化の日", date: "2024-11-03" },
    { name: "休日", date: "2024-11-04" },
    { name: "勤労感謝の日", date: "2024-11-23" },
  ];

  const calendar = CalendarApp.getCalendarById(calendarId);

  holidays.forEach(function(holiday) {
    const startDate = new Date(holiday.date);
    const startTime = new Date(startDate.setHours(9, 0, 0)); // 9:00
    const endTime = new Date(startDate.setHours(18, 0, 0)); // 18:00

    calendar.createEvent(holiday.name, startTime, endTime, {description: '不在', visibility: 'private'});
  });
}

スクリプトの実行方法

スクリプトの実行方法は簡単です。

  1. スクリプトエディタの「ディスクアイコン」をクリックして保存します。
  2. ファイル名を入力して保存します(例:「JapaneseHolidays」)。
  3. スクリプトエディタの「実行」ボタンをクリックして、関数addJapaneseHolidaysToCalendarを実行します。
  4. 初回実行時には、Googleカレンダーへのアクセス許可を求められるので、「許可」をクリックします。

よくある質問(FAQ)

Q: GoogleカレンダーIDはどこで確認できますか?
A: Googleカレンダーの設定ページで確認できます。
左側の「マイカレンダー」セクションで、カレンダーの設定を開き、「カレンダーの統合」セクションにカレンダーIDが表示されます。
※今回は primaryでデフォルトカレンダーを指定していますが、複数登録されている場合は、カレンダーIDを以下へ入力してください。

const calendarId = 'primary'; // 'primary'はデフォルトのカレンダーを指します。他のカレンダーを使う場合はIDを設定してください

Q: スクリプトがうまく動作しません。どうすればよいですか?
A: スクリプトが動作しない場合、カレンダーIDが正しいか、必要なアクセス権限が付与されているか確認してください。

まとめ

この記事では、Google Apps Scriptを使って、日本の祝日をGoogleカレンダーに一括登録する方法を紹介しました。初心者でも簡単に実行できるように、詳細な手順を説明しました。GASを使うことで、手間のかかる作業を自動化できるので、ぜひ挑戦してみてください。

その他のGoogle Workspaceに関する記事は、以下からご覧いただけます。

【Google スプレッドシート】とは?基本から活用方法まで徹底解説

【Google スプレッドシート】の基本的な関数から応用まで

【Google スプレッドシート】の基本操作〜セル入力から書式設定まで〜

【Googleスプレッドシート】でプルダウンメニューを作成する方法

【Googleスプレッドシート 】共有の方法と便利な活用法

【Googleスプレッドシート】でA列の重複セルを見つける方法(ダブりを瞬時に発見し改善する)

【Googleスプレッドシート】条件付き書式設定で特定の行(範囲)をハイライトさせる方法を徹底解説!!

【Googleスプレッドシート】に各業者への発注日を起点に入荷予定日を自動表示させる方法