お買い物メモアプリを作る
お買い物で何を買ったのか、金額はいくらだったのか、後で計算をするために、レシートを見ながら Excelシート に書き写すことってありますよね。
ところが、スマホから直接メモをすることが出来るようになったら如何でしょうか。パソコンを起動する手間も省けますし、いつでもどこでも入力出来るので、時間の節約にも繋がりそうですよね。
今回は、便利な「お買い物メモ」アプリを Power Apps を使って作成してみたいと思います。
最初に、お買い物内容を記録をするExcelシートを用意します。
好きな名前でExcelファイルを作成してシートにはこのように入力します。
セル「A1」には 内容を登録する 「Contents」
セル「B1」には 価格を登録する 「Price」
セル「A1」と「B1」を選択した状態で、「テーブルとして書式設定」を選択して
表示された一覧の中からお好みの色を選びます。
「先頭行をテーブルの見出しとして使用する。」にチェックを入れます。
「テーブルデザイン」のタブを選択して、テーブル名を入力します。
今回は「Memo」と入力します。
Excelファイルを保存して閉じ、OneDrive for Business の任意の場所にExcelファイルを置きます。
Power Apps を起動して、「キャンパスアプリを一から作成」を選択します。今回はアプリ名は「お買い物メモ」、形式は「電話」を選択しました。入力をしたら「作成」ボタンを押します。
開発画面が表示されたら、「+データの追加」からデータソースを選択します。
先程Excelファイルを保存した 「OneDrive for Business」を選択します。
「OneDrive for Business」 の画面が右に表示されますので、「接続」を選択します。
続いて、保存をしたExcelファイルを選択します。
データに、このように「Memo」が表示されていれば、アプリとExcelファイルの接続は成功です。
続いてスクリーンに項目名と入力フォーム、保存ボタンを作成します。「+」挿入から、テキストラベルを2回、テキスト入力を2回、ボタンを1回選択するとスクリーンに各コントロールが表示されます。位置やサイズはドラッグ&ドロップで調節出来ます。
ラベルとボタンのテキストを変更します。プロパティ「Text」の値を変更すると表示内容を変更することが出来ます。それぞれの「Text」の値は下図を参考にして下さい。
保存ボタンを押したときのアクションを設定します。プロパティ「OnSelect」に以下の値を入力します。※TextInputは操作手順によっては後ろの数字が下図とは異なる場合がありますので、状況に応じて変更をして下さい。
Patch(
Memo,
Defaults(Memo),
{Contents:TextInput1.Text,
Price:TextInput2.Text
}
)
複雑そうですが、Excelファイルに値を挿入するための構文ですので、下図を少しずつ見ていきましょう。
最初に出てきたPatchという関数を使うと、データソース(ここではExcel)にデータを挿入したり、変更をしたりするアクションを起こすことが出来ます。
カッコのなかでは、最初に書き込み先の「Memo」を書き、続いて、挿入をするという意味になる「Defaults」を書き、書き込み先に再び「Memo」を指定します。(もし、登録済みのデータを修正するのであれば、First関数やLookUp関数を指定して修正するデータを指定します。この書き方については後のコラムで説明させて頂こうと思います。)
中カッコの中ではどの列にどの値を登録するかを指定します。今回は”内容”と”価格”の列に、それぞれ対象となる入力フォームの値が登録されるように記述しています。
ここまで設定が出来たら、アプリを実行(F5キー)して早速入力フォームに値を入力してみましょう。今回は、内容に「コンビニA」、金額に「500」と入力してみました。
保存ボタンを押すと、データの登録が行われます。
正しく保存が出来たかを確認するため、「OneDrive for Business」 のExcelファイルを開いてみましょう。下図の通り、Contents列とPrice列に値がセットされていれば成功です。「_PowerApps_」という列が出来上がっていますが、これは自動的に作成される列で、Excelテーブルの行が一意になるように値がセットされます。
今回はテキストをExcelに保存をすることにトライしてみました。今回登場したPatch関数はPower Apps でのアプリ開発では非常によく使う関数ですので、初めての方は、この機会にぜひ色々と試してみて下さい。
それではまたー。