Power Appsになれるために体温記録表の作成
大体の進め方
今回の主な目的はPower Appsを使用することになれることです。実際に動作する簡単なアプリ作成していきましょう。作成するアプリは、その日の体温を測ってアプリに入力するとExcelに記録していくというものです。
体温に関してはセンシティブな情報なので、作成したアプリを実際にそのまま使うのはやめといた方がいいですが、Power Appsの練習という意味で作成していきましょう。
まずはどんな感じで進めるかをまとめてみました。
ざっくりと図で表すとこんな感じになります。
- スマートフォン等でPower Appsで作った体温記録アプリを起動して体温を書き込む
- Power Appsは体温などのデータをPower Automateに送信する
- Power Automateは受け取ったデータをTeamsのチーム内に「体温記録」に書き込む
というような順番で動作します。
作成の順番は
- Teamsのチーム内に「体温記録」というファイルを作成する
- Power Automateでその「体温記録」ファイルにデータを書き込むフローを作成する
- Power Appsで2で作成したフローを実行するアプリを作る
- スマートフォン等で作成したアプリを動作するか確認する
となります。
厳密な意味では違うかもしれませんが、Power Appsはアプリの画面を作成して、Power Automateはそのアプリの裏側のプログラムを担当しているような感じです。
まだPower Appsの使用したことがない人は、なんでPower Appsで直接Excelファイルに書き込まないでPower Automateというものを経由して書き込むのか不思議かもしれませんがやっていけば、なんとなくわかってくると思います。
Teamsのチーム内でExcelファイルを作成
まず最初にTeamsのチーム内に「体温記録」というExcelファイルを作成します。
ファイル名を「体温記録」として、作成したExcelファイルを開いてください。
A1セルに日付、B2セルに氏名、C1セルに体温と記入してから、「挿入」→「テーブル」をクリックして、「テーブルの作成」ダイアログの「先頭行をテーブルの見出しとして使用する」にチェックを入れて「OK」を押してください。
Power Automateでチーム内のExcelは書き込む
Power Automaterにログインして上で作成した「体温記録」Excelファイルに、日付や氏名、体温を書き込むフローを作成していきます。結構UIが変更されることがあるので、もし変わっていたら読み替えて進めてください。
「作成」をクリックして、「自動化したクラウド フロー」をクリックします。
「自動化したクラウド フローを構築する」という画面が出てくるので、とりあえず「スキップ」でいいです。
これから実際にフローを作成していきます。まずはトリガーを決めます。トリガーとは処理フローを何を起因にして始めるかということです。今回はPower Appsをからフローを実行するので「PowerApps」を選んでください。選んだあと、「新しいステップ」ボタンをクリックしてください。
次にアクションを選んでいきます。アクションとは実際にPower Appsから受け取った値をExcelファイルに書き込むプログラム的な部分だと思ってください。
今回の作成するフローは
- Power Appsから受け取った「日付」を「変数を初期化する」
- Power Appsから受け取った「氏名」を「変数を初期化する」
- Power Appsから受け取った「体温」を「変数を初期化する」
- 1~3の値をExcleファイルに書き込む
というような感じです。実際に1から進めていきましょう。
「名前」はわかりやすいように「日付」としました。「種類」は文字列を選んでください。 「値」は以前の手順からパラメーターを挿入に出てくる「PowerApps」をクリックしてください。
上のように「値」が入っていればいいと思います。
この「変数を初期化する」を「氏名」と「体温」の分も作成していきます。
「氏名」は上の図のように入力していき「新しいステップ」ボタンをクリックする。
「体温」はこんな感じで作ってください。
最後にExcleファイルに書き込む書き込むステップを作成するので「新しいステップ」ボタンをクリックしてください。
「Excel Online(Business)」を選んで「表に行を追加」をクリックします。
「場所」、「ドキュメントライブラリ」、「ファイル」、「テーブル」はファイルを置いた場所を入力してください。「日付」、「氏名」、「体温」は「以前の手順からパラメータを挿入」からそれぞれ選んで入力してください。
フローの名前が長いと使いづらいので、名前をクリックして「体温記録」とでも変更してください。
そのあと「保存」してから「テスト」を行います。
右側に「フローのテスト」が表示されるので「手動」を選択して「テスト」ボタンをクリックしてください。
適当に値を入れていき、「フローの実行」ボタンを押すとテストが開始され、入力した値がExcelファイルに書き込まれます。
テストが成功するとこのように表示されるので「完了」ボタンを押してください。
Teamsのチーム内にある「体温記録」Excelファイルにちゃんと値が書き込まれていることを確認してください。書き込まれていればPower Automateでやることは終了です。
もっと知りたい場合やどうしてもうまくいかない場合は以下の書籍がおすすめです。
Power AppsでExcelに書き込むアプリを作成
次にスマートフォンやPCから簡単に操作で操作してExcelに体温を書き込みできるようなUI部分を作成していきます。アプリの装飾等は省きただ機能をするだけのものを作成いたします。
今度ブラウザで以下のリンクからPower Appsへログインしてください。
「作成」から「キャンバス アプリを一から作成」をクリックします。便利なテンプレートもデフォルトで用意されていますが、作成手順を覚えるためにも一から作成します。
アプリ名を「体温記録」、形式はスマートフォンでの入力を考えているので「電話」を選択して、「作成」ボタンをクリックしてください。
パーツを選んで画面に載せていき、スマートフォンで操作する画面を作成していきます。「挿入」を選んで以下のパーツを選んで
- テキスト入力 TextInput1
- テキスト入力 TextInput2
- ドロップダウン Dropdown1
- ボタン Button1
上のようにパーツを配置していきます。それではパーツごとに設定をしていきます。一番上のテキスト入力パーツには日付をします。
画面左上にあるDefaultと入力されている項目はプロパティリストといい、選択したパーツのプロパティがリストで表示される部分です。「Default」を選択します。
次にfxと表示されている部分が数式バーになります。ここに関数を入力して、選択したパーツのプロパティを設定できます。今回はその日の日付を表示させたいので下記した数式を入力してください。
Today()
次に「氏名」を表示させたいので、TextInput2を選択して設定を進めていきます。
プロパティリストは「Default」、数式バーには以下のコードを入れてください。
User().FullName
TextInput2にログインしている人の名前が表示されていることを確認してください。
次にドロップダウンリストに体温を選択できるようにします。今回は動作するものを作るための練習なのでとりあえず選択できるものを準備します。
プロパティリストは「Items」、数式バーには以下の選択肢を入れてください。
["36.1","36.2","36.3","36.4","36.5","36.6","36.7","36.8","36.9","37.0"]
次に今回のキモとなるボタンの動作を設定します。先ほどPower Automateで作成したフローと連携します。ボタンを選択して設定を進めていきます。
プロパティリストは「OnSelect」を選択して、「アクション」→「Power Automate」と選んでいき、データに表示された先ほどPower Automateで作成したフローである「体温記録」を選択してください。
体温記録.Run(TextInput1.Text,TextInput2.Text,Dropdown1.Selected.Value)
数式バーに「 体温記録.Run( 」と入力されるのでその続きを上の図のようにコードを記入していきます。TextInput1,2に入力されている値とDropdown1で選択されている値をPower Automateのフローに渡すことを意味しています。
エラー等が表示されないようでしたら、キーボードの「F5」を押して「アプリのプレビュー」表示します。
実際に「ボタン」をクリックして、Teamsのチーム内のExcelファイル「体温記録.xlsx」に今日の「日付」と「氏名」、「体温」が入力されていたら完成です。お疲れさまでした。
「アプリのプレビュー」は右上に×マークがあるのでそれを押せば終了します。
あとは画面左上の「ファイル」を押してから「保存」を押してます。
そのあとに表示される「公開」ボタンを押し→「このバージョンの公開」ボタンを押していきます。
「アプリ」を選んで「Webリンク」をスマートフォン等のブラウザで開けばアプリが使用できます。
Power Appsについてもっと知りたい場合は以下の書籍がおすすめです。
これからも使用できるシーンが増えてくると思うPower Platformなので少しづつ慣れていきましょう。