杉山 純一

こんにちは。ジャパン・エンダストリアル杉山です。
Microsoft製品 Power Platformでお弁当注文アプリを作成する方法をご紹介します。
毎日、お弁当を集計し、お弁当屋さんに注文をされている方におすすめです。

現場の方にお弁当入力をしてもらい、注文数を自動で集計し、お弁当屋さんに発注メールを送るところまでを効率化するシステムです。ぜひ、参考にしてみてください。ある程度Power Platformの用語を理解して自分で作成できる方を想定しています。

このシステムは、Microsoft製品であるPower AppsとPower Automateを使用しています。
完成形アプリの紹介動画はこちら↓ (40秒程度)

作成方法は下記の順番で解説していきます。

  1. SharePointリストでデータベースを作成する
  2. Power Appsでアプリ画面を作成する
  3. 作成した各コントロール(部品)のプロパティ(属性)に関数(コード)を入力する
  4. Power Automateでフローを作成する
  5. 共有・公開する

SharePointリストでデータベース作成する

まずはSharePointリストでお弁当の注文データを保存するためのデータベースを作成します。会社によってお弁当の注文内容は異なると思いますので、ここは適宜自社に合わせてみてください。

今回は、「名前」「サイズ」「拠点」の3つの情報を保存できるようにします。工場が二拠点以上あることを想定して、「拠点」も追加しています。

次に誰が注文したのかを記録するために、同じくSharePointリストで社員マスタを作成します。今回の社員マスタはシンプルに社員名だけ入力できるようにします。下記の写真にはさまざまな列がありますが、「氏名」の列だけ使用します。

Power Appsでアプリ画面を作成する

アプリを自動作成する機能を使います。先ほど作成したお弁当注文データを記録するSharePointリストを開きます。そして、SharePointリストの「統合」から「Power Apps」を選択します。少し時間がかかりますが、しばらく待っていると自動作成されます。アプリ開発に慣れていない方はまずはこれを覚えるだけで、簡易的なアプリが作れるようになります。とても便利ですね。私はできるだけ開発の時間を短くしたいので、慣れてきても開発は自動作成機能を使うことが多いです。

次に自動で作成されたアプリにマスタデータを接続します。データから「社員マスタ」を接続します。社員マスタは、作成しなくても良いのですが、お弁当注文アプリ以外に社員マスタを使うケースが多いため、社員マスタを使った登録方法をご説明します。

さらに、自動で作成されたアプリに、「集計画面」と「メール送信画面」を追加します。ツリービューにある「新しい画面」から空の画面を追加しましょう。

作成した各コントロールのプロパティに数式を入力する

開発に慣れていない方には、「コントロール」「プロパティ」「数式」はわかりづらい表現です。最初に簡単にご説明します。

・①「コントロール」はひとつひとつの「部品」の名前です。Power Appsは部品を組み合わせて作成します。その部品のことを「コントロール」と呼びます。
・②「プロパティ」は、属性のことを指します。例えば、「ボタン」というコントロール(部品)があるとします。その部品の色を変えるときは、「Color」というプロパティを操作することで色を変えることができます。
・③「数式」は関数のことです。例えば上記の「Color(色)」を変えるときは、関数で「Blue」や「Red」などを指定します。

「集計画面」にはLabelコントロールを挿入し、きれいに配置します。そして、LabelコントロールのTextプロパティに、下記の関数を入力しましょう。これで、拠点が「本社」かつサイズが「小」のデータがカウントされるようになります。

CountRows(Filter(LunchOrder,登録日時 >= Today(),Department.Value= "本社",Size.Value = "小"))

あとは、他の組み合わせも同じようにコピペしていきます。

最後に「発注する」ボタンに次のページへ遷移するためのNavigate関数を入力します。

「メール送信画面」には、TextinputコントロールとRichTextEditorコントロールを挿入します。Textinputコントロールには、お弁当屋さんの宛先とメールタイトルを入力します。RichTextEditorには本文を入力します。お弁当屋さんのアドレスは固定にしています。

Today()&"のお弁当注文です"
"お世話になっております。</br>

本日のお弁当の注文になります。</br>
何卒よろしくお願いいたします。</br>"

&"</br>"&
"本社サイズ小:"&Text(Label1.Text)
&"</br>"&
"本社サイズ中:"&Text(Label1_2.Text)
&"</br>"&
"本社サイズ大:"&Text(Label1_3.Text)
&"</br>"&
"工場サイズ小:"&Text(Label1_4.Text)
&"</br>"&
"工場サイズ中:"&Text(Label1_5.Text)
&"</br>"&
"工場サイズ大:"&Text(Label1_6.Text)
&"</br>"&
"☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆</br>
埼玉部品加工株式会社</br>
杉山 純一</br>
埼玉県秩父市</br>
HP:https://saitama-parts.com</br>
部品加工のことなら弊社にお任せください</br>
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆"

Power Automateでフローを作成する

次にPower Automateクラウドフローを使って、メール送信機能を追加します。
Power Appsのキャンバスから、Power Automateを追加します。Send an mailメールを送るというアクションを選択します。そして、「メール送信画面」で作成した宛先やタイトル、本文をSend an mailに挿入します。ポイントは、引数をテキストで3つ作成しますが、Power Apps側は、引数で渡す順番で並べておきます。

上記のように、テキストで「件名」「アドレス」「文章」と設定します。
Power Appsの操作に戻り、下記のように、「件名」「アドレス」「テキスト」の順番で引数を記載します。
メールを送信するためのボタンのOnselectプロパティに、Run関数を入力して、Power Automateを起動させます。
今回は、「test」という名前でPower Automateを作成したのでこのような関数になっています。

test.Run(TextEmailSubject1.Text,TextInput1.Text,RichTextEditor1.HtmlText);
Navigate(End)

まとめ

今回は、Power AppsとPower Automateを利用ったお弁当注文アプリの作成方法についてご紹介しました。

社内における業務効率化が求められており、様々なツールが活用されています。
Power AppsとPower Automateのような、ノーコード/ローコード開発で業務アプリを簡単に作成・運用することができるため、短期間で業務の効率化を目指せます。

Power AppsとPower Automateは、様々な機能を備えているため、お弁当注文アプリ以外にも様々な業務アプリを作成することができます。他にもアプリの作成に挑戦したい方は、下記の記事も是非参考にしてみてください。

参考記事

最後になりますが、Power AppsとPower BIの基礎講座をUdemyで公開しています。
この記事を読んでPower Appsでアプリ開発をしてみたいと思った方はぜひご視聴ください。