図解で、業務タスクを管理するアプリを PowerApps で作成してみた。
次に記載の通りPowerAppsを使うとPCやiPhoneで使えるアプリを簡単に作成できるらしいので、これが本当なのか外出自粛中のゴールデンウィーク初日に「ToDoアプリ」と「業務タスク管理アプリ」を作成してみた記録である。PowerAppsは個人利用に限り無料で使えます。
PowerAppsって何?
- Microsoft PowerApps は、ビジネスアプリを簡単に作成できる。
- PowerPointでプレゼンテーションを作るようなスキルで作成できる。
- 作成したアプリはクラウドに置き、PCやスマホで使える(iPhoneでも使える)。
何ができたの?
- 「業務タスク管理アプリ」を数時間で作成できた。
- iPhoneとPCで、同じデータを操作できた。
- ライセンスの都合上、自分専用だが、実際に仕事現場で使えるアプリだった。
最初に試したこと(ToDoアプリ)
PowerAppsがどんなものだか知らなかったので、とりあえず試しにToDoアプリを作って練習した。
- 新規にExcelファイルを開いてToDoリストのダミーデータを作成。
- 作成したExcelファイルをOneDriveに保存。
- PowerAppsで『データから新規アプリを作成する手順』に沿ってアプリを作成。
元々、やることリストをExcelファイルで作ることが多かったのと、あとでExcelでダウンロードできるようにExcelを使ったが業務ならば他のデータベース(例えばCommon Data Services)がよい。Excelはデータレコード数が初期値で500個まで最大2000個までという制約があります。自分は、ついでに個人的なメモをスマホに記録できたらいいなぁと思い、アプリでフィルタリングできるようにメモの種類(セルA列)に[ToDo], [記憶メモ], [死ぬまでにやる42の事], [ゴミ箱]を用意した。そしたら、わりと実用的なアプリが本当に出来上がった。しかも勉強時間を含めて3~4時間で。なお、スマホで使う場合は(iPhoneの場合)、[Microsoft PowerApps]アプリをApp Storeからインストールしておく必要はあるが、そのアプリから、自分で作成したアプリを起動できるようになるので、Appleによるアプリ公開審査や公開作業が不要なので、これまた本当に数分でスマホで使えるようになった。
PowerApps って使えるんじゃない?
何十年も前になるけどNotes/Dominoで仕事のワークフローとか情報共有とかを沢山作ってたことを思い出した。最近ではSharePointが主流だけど少し使い勝手が悪いのでPowerAppsで置き換えたいなあと思った。しかも、PowerAppsはクラウドサービスであり、Office365やAzureなど様々なクラウドとも連携できる。その上、Flow他のコンポーネントを使ってメール送信アクションやメール受信をトリガに処理をするなど、利用シーンがどんどん広がっていく可能性を想像できる。
みんなに問いかけ
■ 何ができるのか『備品/会議室予約とか業務タスクフォローのようなアプリをわずか数時間で作成できます。』
■ 問いかけ『そのアプリ、開発工期(要件定義~設計~コーディング~検査)に2か月かけますか?』
■ 提案『ささっと数時間でアプリを用意して、今すぐ使ってみませんか?』
実証検証してみよっと(業務タスク管理アプリ)
長引く在宅勤務で、自分の業務タスクを見失ってしまいがちなので、自分専用サービスオペレーション(タスク登録→タスク実行→タスク完了)を管理するアプリを作ってみよっと。実践で使えるならば、みんなにも使ってもらえるかなと考えつつ。
作成ステップ1.データベースを用意
あとでExcelファイルにエクスポートして再利用ができるように、データベースはExcelファイルとした。
作成ステップ2.OneDriveに保存
作成したExcelファイルを、マイクロソフトのクラウドサービスOneDriveに保存した。
作成ステップ3.アプリを作成
PowerAppsで[+新しいアプリ]の[データを使用して開始]を選ぶ。次に、OneDriveに保存したExcelファイルとそのシート(テーブル)を選び、[接続]を押す。
アプリが自動作成される間、ほんのちょっと待つと、実行可能なアプリが作られる。
作成ステップ4.アプリを改造
最初のアプリはなんと、新しいレコードの追加、編集、削除が出来る状態になっている。これだけでも動くアプリとして使えるが、デフォルトでは全てテキスト入力になるので、日付入力はカレンダー入力、優先度などの選択肢はドロップダウン入力、など使いやすいように変更していく。
ノンコードというと嘘になるので、正しくはローコードでの開発です。数行のコードは必要です。例えば、カレンダーでの日付入力/変更は『If(EditForm1.Mode=New, Today(),ThisItem.作成日)』の1行だけ書きます。これは、もし新規レコード作成「Editform1.mode=New」の場合は今日の日付「Today()」を、新規レコードではないなら既存の日付(ThisItem.レコード項目名)をカレンダーコントロールに設定します。
メール送信ができるようにする。PowerPlatfomシリーズのPower Automate(旧称Microsoft Flow)を設定します。
メール宛先は本番では宛先を選ぶコードを記述しますが、今回は個人利用なのでPower Automate側に自分のメールアドレス(無料のGmail)を記述しました。
メール送信のアイコンをクリックしたら実行するコードを、この例では、アイコンのOnSelectイベントに『'PowerApp->メールの送信(V2)'.Run(メール件名, メール本文)』を記述しました。
作成ステップ5.アプリを使う
見た目(レイアウト)や操作性(フィルタリングやアイコン)を改造してとりあえず実用編として完成したアプリがこれ(↓)。機能は、新規タスク登録、タスクの編集(進捗や優先度の変更)、タスク内容をメールで送信、が出来る(今のところ)。画面の「合計」をクリックするとレコード8件が表示されます。下図は「作業中」をクリックして、作業中である3件のレコードを表示し、3つ目のレコードを表示したところ。
まとめ
アプリの作成は、PowerPoint操作ができるスキル程度とは言わないが、ExcelのマクロやVBスクリプトよりも、もっとローコードで作成できるのは事実だった。したがって、プログラム技術者ではなく、アプリ利用者が自ら自分の欲しいアプリを作成できる。アプリを作成してみた結果として、社内で利用するだけのアプリならPowerAppsでいいんじゃないだろうか。と思いつつ、これからも自分専用アプリを使い込んでみます。