業務自動化で脱・手作業!一人事務のDX活用術 | RPA・自動化ツール

業務自動化で脱・手作業!一人事務のDX活用ブログ|RPA・自動化ツールで業務をもっとラクに、もっとスマートに

Power Automate DesktopでGoogleカレンダー情報を自動取得&条件分岐する方法

Power Automate DesktopでGoogleカレンダー情報を取得&条件分岐!在宅勤務か出社かを自動判断する方法|GoogleAppsScript(GAS)×PAD

業務自動化の第一歩として「Power Automate Desktop(PAD)」を使っている方も多いのではないでしょうか。

中でも「今日の予定に応じて処理を分けたい」というニーズは非常に多いです。

たとえば、在宅勤務の日はリモート用のアプリを起動、出社日はメールチェックや印刷処理をスタート……といった自動化ができたら、朝のひと手間がかなり楽になりますよね。

本記事では、Googleカレンダーの予定内容に応じてPADのフローを分岐させる方法をご紹介します。

PAD単体ではGoogleカレンダーと直接連携するのが難しいため、GAS(Google Apps Script)+スプレッドシートを中継する方法で実現します。


【STEP1】Googleカレンダースプレッドシートに出力する(GAS)

まずはGoogleカレンダーの予定情報をGoogleスプレッドシートに書き出します。以下の手順でGASを設定しましょう。

■手順

  1. Googleドライブを開く
     👉  https://drive.google.com/drive/home

  2. +新規 → Googleスプレッドシートを作成

  3. 拡張機能」→「Apps Script」を開く

  4. 以下のコードを貼り付けて保存・実行

function exportCalendarToSheet() {
  const calendarId = 'primary'; // もしくは特定のカレンダーID(例: example@gmail.com
  const calendar = CalendarApp.getCalendarById(calendarId);

  const startDate = new Date(); // 今日
  const endDate = new Date();
  endDate.setMonth(endDate.getMonth() + 1); // 1ヶ月後まで

  const events = calendar.getEvents(startDate, endDate);

  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  sheet.clear(); // 古い内容を削除
  sheet.appendRow(['タイトル', '開始日時', '終了日時', '場所', '説明']);

  events.forEach(event => {
    sheet.appendRow([
      event.getTitle(),
      event.getStartTime(),
      event.getEndTime(),
      event.getLocation(),
      event.getDescription()
    ]);
  });
}
 
※毎日自動更新したい場合は「トリガー」から時間ベースの定期実行設定がおすすめです。
GASの導入方法

keiridx.net

 ▼このようなGoogleカレンダーの予定情報がスプレッドシートに記録されます。

Power Automate DesktopでGoogleカレンダー情報を取得&条件分岐!在宅勤務か出社かを自動判断する方法|GoogleAppsScript(GAS)×PAD

Power Automate DesktopでGoogleカレンダー情報を取得&条件分岐!在宅勤務か出社かを自動判断する方法|GoogleAppsScript(GAS)×PAD

【STEP2】Power Automate Desktopでスプレッドシートからデータを取得

次に、PAD側でスプレッドシートの情報を読み取り、内容に応じた分岐処理を作成します。

■処理フロー概要

  1. Chromeスプレッドシートを開く

    Power Automate DesktopでGoogleカレンダー情報を取得&条件分岐!在宅勤務か出社かを自動判断する方法|GoogleAppsScript(GAS)×PAD

  2. ウィンドウにフォーカス→全選択&コピー

    Power Automate DesktopでGoogleカレンダー情報を取得&条件分岐!在宅勤務か出社かを自動判断する方法|GoogleAppsScript(GAS)×PAD

  3. Excelを起動し、貼り付け→全データを読み取り

    Power Automate DesktopでGoogleカレンダー情報を取得&条件分岐!在宅勤務か出社かを自動判断する方法|GoogleAppsScript(GAS)×PAD

  4. 現在日時を取得し、テキスト形式に変換

    Power Automate DesktopでGoogleカレンダー情報を取得&条件分岐!在宅勤務か出社かを自動判断する方法|GoogleAppsScript(GAS)×PAD

  5. Excelデータをループし、日付と一致する行を探す

    Power Automate DesktopでGoogleカレンダー情報を取得&条件分岐!在宅勤務か出社かを自動判断する方法|GoogleAppsScript(GAS)×PAD

  6. 「タイトル」や「場所」に応じて在宅勤務/出社を判定

    Power Automate DesktopでGoogleカレンダー情報を取得&条件分岐!在宅勤務か出社かを自動判断する方法|GoogleAppsScript(GAS)×PAD

  7. 分岐ごとに任意のアクション(アプリ起動・通知など)を実行

この流れで「今日の予定」に合わせたフロー分岐が可能になります。

▼全体フロー

Power Automate DesktopでGoogleカレンダー情報を取得&条件分岐!在宅勤務か出社かを自動判断する方法|GoogleAppsScript(GAS)×PAD

Power Automate DesktopでGoogleカレンダー情報を取得&条件分岐!在宅勤務か出社かを自動判断する方法|GoogleAppsScript(GAS)×PAD

※メッセージボックスのアクションが入っているところにお好きなアクションを追加してください。


【応用編】祝日や年間スケジュールにも対応!

この方法を応用すれば、Googleカレンダーに登録している祝日や会社の年間休日カレンダーを元に、休業日かどうかを自動判定することもできます。

予定の読み上げやSlack通知と組み合わせれば、AI秘書のような仕組みにも発展可能です。

▼Power Automate Desktopを使ってニュースを音声読み上げ

keiridx.net


おわりに

Power Automate DesktopとGoogleカレンダーは直接連携しにくいものの、GAS+スプレッドシートを活用することで柔軟な自動化が実現できます。
「今日は何の予定だったっけ?」と毎朝確認する手間も省けて、生産性もグッとアップ!ぜひ一度試してみてくださいね。

▼月末や月初の日付を取得して別の処理をしたい方はこちら

keiridx.net

▼Power Automate Desktopをより深く学びたい方は書籍の活用もおすすめです。

keiridx.net

▼この記事が役に立ったらブックマークをお願いします

 Power Automate Desktopで曜日・特定日付・時間ごとに異なるフローを実行する方法

Power Automate Desktopで曜日・特定日付・時間ごとに異なるフローを実行する方法
人気ブログランキング