このページの本文へ

仕事に差がつく!阿久津良和「Microsoft 365のスゴ技」 第20回

Power Automate Desktopを使い、勤怠管理システムを簡単に作る方法

2021年04月06日 10時00分更新

文● 阿久津良和(Cactus) 編集●MOVIEW 清水

  • この記事をはてなブックマークに追加
  • 本文印刷

 本連載は、マイクロソフトのソリューション「Microsoft 365」に含まれるSaaS型デスクトップ&Webアプリケーション(以下、アプリ)「Office 365」について、仕事の生産性を高める便利機能や新機能、チームコラボレーションを促進する使い方などのTipsを紹介する。

 Microsoft 365 Appsを使いこなして仕事を早く終わらせたい皆様にお届けする本連載。今回はPower Automate Desktopに注目する。

フロー実行時の日時をExcelファイルに書き込む

 業種や所属する部門によって異なるものの、日常業務の一部分は同じことを繰り返しているにすぎない。そのような場面に生かせるのがRPA(ロボティック プロセス オートメーション)だが、先頃Microsoftは自社RPAソリューションのPower Automate Desktopを追加費用なしで利用可能にした。同社が米国時間2021年3月17日にリリースしたWindows 10 Insider Preview ビルド21337でも、Windows Terminalと共にPower Automate Desktopを標準アプリとして組み込んでいることからも、同社のローコード/ノーコード開発基盤に対する注力具合をうかがえる。Power Automate Desktop無償使用時は、フローをOneDriveに格納する個人版(Microsoftアカウントでサインイン)と、Microsoft Dataverse(旧Common Data Service。以下、Dataverse)に格納する組織版(職場または学校のアカウントでサインイン)と2つの方法を用意。Microsoft 365 Appsを対象にしている本連載であれば後者を選択すべきだが、Dataverseの準備が整わなかったため、本稿では前者で話を進める。Dataverseに関心をお持ちの方は[公式ドキュメント]を参照してほしい。

Power Automate Desktopを職場または学校のアカウントで利用するには、Dataverseの準備が必要となる

サインインしたら「新しいフロー」をクリックし、必要に応じてフロー名を入力してから「作成」ボタンをクリックする。なお、フロー名が無記載の場合は「無題」となる

こちらがフローの作成画面。任意のアクションを編集画面にドラッグ&ドロップするか、ダブルクリックでプロパティを設定する

 さて、今回は勤怠管理システムを導入していない中小企業向けに超簡易的なフローを用意した。Power Automate DesktopからMicrosoft Excel(以下、Excel)を起動し、出社・退社を選択したら、現在の日時を取得してExcelのワークシートに書き込んで保存するというものである。

フローを実行した状態。ドロップダウンリストから「Start(出社)」「End(退社)」を選択して「OK」ボタンをクリックする

すると指定したExcelワークシートファイルにフローを実行した日時が書き込まれる

 まずはアクションとして「現在の日時を取得します」を実行する。タイムゾーンは日本時間を選択する「システムタイムゾーン」で構わない。次に出社・退社を選択するダイアログを起動するため「リストから選択ダイアログを表示」を実行する。任意のタイトルを付けて、「選択元のリスト」は「Start」「End」の2種類を用意。他の項目を選択できないように「リストに制限」をオンにするとよい。続いて「Excelの起動」で既存のExcelワークシートファイルを開く。この際「インスタンスを表示する」をオフにすると、Excelが起動しないので素早くフローを実行できる。最後に書き込み対象となるワークシートを指定する「アクティブなExcelワークシートの設定」を実行。一種のおまじないだと捉えるといいだろう。「ワークシート名」は「Sheet1」など実際のワークシート名を入力する。

「現在の日時を取得します」のアクション

「リストから選択ダイアログを表示」のアクション

「Excelの起動」のアクション

「アクティブなExcelワークシートの設定」のアクション

 ここからは条件分岐だ。Power Automate Desktopはif/thenも用意しているが、今回はアクションとして「Switch」を使用することにした。これなら出社・退社以外の要素を加えた場合でも容易に対応できるからだ。チェック対象値としてドロップダウンリストで選択した値を格納した「%SelectedItem%」を選択するのだが、この際「{×}」をクリックすると先のアクションで実行した変数をGUIで参照できる。次に「Case」を2つ作成。演算子は「先頭」。比較値は「Start」「End」を各自指定する。一方のCase内で「Excelワークシートに書き込み」を実行し、書き込む値として「%SelectedItem%」、「書き込みモード」は「指定したセル上」、行列は「1」「1」を指定。続けて「Excelワークシートに書き込み」を実行して、書き込む値を現在の日時を格納した「%CurrentDateTime%」を指定。セルの書き込みは「2」「1」とする。最後にフローを実行する際の上書きを避けるため、空の行を挿入する「Excelワークシートに行を挿入」を実行すればよい。もう一方のCaseである「End」も同様のアクションとなるため、アクションをコピー&ペーストすれば完成だ。

「Switch」のアクション

「Case」のアクション

「Excelワークシートに書き込み」のアクション。ここではドロップダウンリストで選択した内容を書き込む

「Excelワークシートに書き込み」のアクション。こちらは現在の日時を書き込む

「Excelワークシートに行を挿入」のアクション

 本稿執筆にあたって初めてExcel関連アクションを使ってみたが、「アクティブなExcelワークシートの設定」の実行が必要であることと、変数指定時に「%」で囲む作法につまずいた点を除けば小一時間でフローを書くことができた。業務内容をアクションに置き換えることで、一部業務の自動化が可能であることをご理解いただけただろう。

■関連サイト

カテゴリートップへ

この連載の記事
ピックアップ