見出し画像

PowerAppsでタイムレコーダを作る

概要

Microsoft365にあるPowerAppsは、ノーコードでExcelなどを土台にアプリを作ることが可能です。今回のようなアプリを社内で作る事によって、余計な外部ウェブサービスに1名当たり何百円も支出を永遠に固定費として出す必要はなくなるので、非常に利点があります。

タイムレコーダを今回は作ってみました。ちなみに今、無償でできる Power Apps 特別版が配布されています。

作ってみる

OneDrive Business側

Excelファイルを用意。ここに打刻データを書き込みます。必要な項目は以下の5列。テーブル化しておきます。

  1. ID

  2. ユーザのメアド

  3. 氏名

  4. 打刻タイプ

  5. 日付時刻

Power Automate側

ボタンをクリックした時の挙動を作っておきます。出勤と退勤の2つについて作成をしておく必要があります。

殆どのデータはMicrosoft365のプロフィールデータから拾えます。

クリック時のフローを作成する

このフローはPowerApps側から作成が可能です。返り値を設定してるので、PowerApps側でそれを受け取って、打刻されたことを確認できます。Teamsチャンネルへ投稿といったフローを入れておくと尚良いでしょう。

PowerApps側

ボタン、タイマー、各種ラベルを用意。それぞれはOnSelect等のイベントに関数式を追加することで、Power Automate側のフローを叩いたり、時間をリアルタイム更新したり、Power Automate側からの返り値を元に、非表示のラベルを表示したりします。

アプリ全体図。非表示のラベル等も用意します

タイマーで時刻をコントロールし、変数を用いてラベルの表示・非表示をコントロールしています。Power Apps側からPower Automate側のフローを叩いて、返り値をもらう数式はOnSelectに以下のようにして入れておく。

UpdateContext({res:出勤打刻.Run()}); 
Set(ret,res.flowflag);

詳細や応用編はこちら

今回のプロジェクトをサンプルでエクスポートしてあります。

#PowerApps #Microsoft365 #ノーコード #アプリ #Teams

この記事が気に入ったらサポートをしてみませんか?