こんにちは、あんこ先生です。
ペーパーレスで手を出しやすいのはチェックリストの電子化ですよね。
PowerAppsなら、かんたんにチェックリストが作成できます。
でも、ExcelのVBAでも同じことできるし、PowerAppsって取っつきにくいと思っていませんか?
いいえ、そんなことはありません。
PowerAppsの強みは、通信ができればスマホでも操作ができることです。
さらに、VBAどころか、関数が使えるレベルならアプリも作れます。
そこで今回は、「かんたんなものからチェックリストを電子化したい」という初心者を対象に、シンプルなチェックリストアプリの作り方を紹介します。
苦手なコードもコピペでなんとかなるので、実際に作ってみましょう!
初めてでも、たぶん60分くらいで完成します。
Contents
チェックリストアプリの作り方
最初からあれやこれやと機能を盛り込むと難易度が高まります。
そのため、今回は、記名、質問の表示、回答欄、保存に絞っています。
サンプルアプリとして、始業時に全社員が実施するチェックリストのアプリを作成してみます。
アプリの仕様
初めてのアプリ作成を想定していますので、極限までシンプルにしました。
質問数は4つ、回答はYesNoの2択です。
結果はSharePointリストに保存します。
使用上の注意
途中経過は保存されません。
また、保存前にアプリを終了すると入力内容は消えてしまいます。
チェック内容の保存先準備
![](https://i0.wp.com/anko7793.com/wp-content/uploads/2022/09/image-10.png?resize=728%2C36&ssl=1)
さっそくアプリの作成に着手したいところですが、まずは保存先から用意します。
保存先はSharePointリストですが、直接作ると少しめんどいです。
一度Excelで次のようなテーブルを作って、SharePointリストにエクスポートしましょう。
たぶんコピペできます。
Date | Person | ①検温の結果、37.5℃未満ですか? | ②咳や喉の痛みなど不調はありませんか? | ③同居親族に37.5℃以上の発熱者はいませんか? | ④本日はテレワークですか? |
---|---|---|---|---|---|
9月3日 | 点検太郎 | TRUE | TRUE | TRUE | TRUE |
具体的な手順はこちらの記事に詳しく載せています。
本来、項目列の名前は英数字が好ましいのですが、初心者向けなので質問となる列には日本語を使用しています。
チェックリストアプリの作成│UI画面
コネクタの接続
![](https://i0.wp.com/anko7793.com/wp-content/uploads/2022/09/image-12.png?resize=728%2C317&ssl=1)
それでは実際にアプリを作成してみましょう。
せっかくPowerAppsを使うので、スマホから入力できるよう形式は電話を選びます。
編集画面が開いたら、はじめに先ほど作成したSharePointリストを接続します。
画面左側のデータ > コネクタ > SharePointリストと進んで目的のリストを選択します。
![](https://i0.wp.com/anko7793.com/wp-content/uploads/2022/09/image-11.png?resize=351%2C412&ssl=1)
このようにアプリとデータソース等は接続しないと利用できません。
アプリを作るときは、最初にまとめて接続しておきましょう!
コントロールの配置
今回使用するコントロールは、フォームとボタンの2つです。
厳密にはフォーム内にたくさんのコントロールがありますが、設置するのは2つだけです。
まず、データ入力用のフォームを編集モードでスクリーン上に展開します。
![](https://i0.wp.com/anko7793.com/wp-content/uploads/2022/09/image-13.png?resize=728%2C243&ssl=1)
次にデータソースを選択します。
![](https://i0.wp.com/anko7793.com/wp-content/uploads/2022/09/image-14.png?resize=464%2C272&ssl=1)
ここは先ほど接続したSharePointリストを指定しましょう。
すると、SharePointリストの項目に対応したデータカードというものが自動で作成されます。
細かい設定はあとでやるので、とりあえずフォームを画面いっぱいに広げておきましょう!
あとはデータ保存用のボタンをひとつ追加して、X370、Y1000あたりに設置しておきます。
![](https://i0.wp.com/anko7793.com/wp-content/uploads/2022/09/image-15.png?resize=728%2C236&ssl=1)
以上でコントロールの配置は完了です。
チェックリストアプリの作成│体裁を整える
![](https://i0.wp.com/anko7793.com/wp-content/uploads/2022/09/image-16.jpg?resize=728%2C584&ssl=1)
現時点で画像左側のようになっていると思います。
これでも使えないことはありませんが、ユーザーに対してとても不親切です。
コントロールの配置が終わったら細かいところを調整していきます。
文字がはみ出していたり、順番がおかしかったり、不要な項目があったりしますよね。
画面右側のようにゆっくりと体裁を整えていきましょう。
フォームの細かい調整
![](https://i0.wp.com/anko7793.com/wp-content/uploads/2022/09/image-16.png?resize=728%2C139&ssl=1)
フォームに含まれるデータカードはそのままでは値を変更できないようロックされています。
解除はとてもかんたん、詳細設定から解除するだけです。
ただ、フォーム全体と連動していないため、データカードの数だけ解除する必要があります。
今回は数が少ないので最初に全部解除しておきましょう。
画面左側からでもロックの解除が行えます。
こちらの方が効率はいいかもですね。
![](https://i0.wp.com/anko7793.com/wp-content/uploads/2022/09/image-17.png?resize=368%2C226&ssl=1)
項目列名の修正
![](https://i0.wp.com/anko7793.com/wp-content/uploads/2022/09/image-18.png?resize=728%2C124&ssl=1)
データカードのタイトルは項目列名をそのまま持ってきます。
PersonとDateはそのままではわかりにくいので、日本語に書き換えておきます。
データカードの中にDataCardKeyxがあるのでそのTextプロパティを変更するだけです。
これでなんの項目かわかりやすくなりましたね。
トグルスイッチの修正
![](https://i0.wp.com/anko7793.com/wp-content/uploads/2022/09/image-19.png?resize=728%2C113&ssl=1)
続いて質問に対する回答部分です。
ここは文字が枠内に収まっていませんし、回答としてオン・オフはおかしいですよね。
なので枠内に収めつつ、はい・いいえに変更します。
枠からはみ出る部分は、幅を広げれば解消できます。
![](https://i0.wp.com/anko7793.com/wp-content/uploads/2022/09/image-21.png?resize=347%2C160&ssl=1)
DataCardValuexのWidthを200まで増やします。
これで枠内に収まるはずです。
つぎに回答ですが、これは詳細設定のTrueTextまたはFalseTextで設定できます。
![](https://i0.wp.com/anko7793.com/wp-content/uploads/2022/09/image-22.png?resize=341%2C260&ssl=1)
それぞれ、はい・いいえに変更しましょう。
あとはこれらを質問の数だけ繰り返せば完了です。
質問の修正
![](https://i0.wp.com/anko7793.com/wp-content/uploads/2022/09/image-20.png?resize=728%2C127&ssl=1)
質問が一部省略されています。
これは枠内に収まっていないからです。
とはいえこれ以上幅は広げることができません。
そんな場合は改行できるようにします。
DataCardKeyxのWrapをtrueにすれば、枠内に収まらない分を自動で改行します。
![](https://i0.wp.com/anko7793.com/wp-content/uploads/2022/09/image-26.png?resize=327%2C184&ssl=1)
また、改行に合わせて他コントロールの位置も連動して変わります。
不要な項目を削除する
![](https://i0.wp.com/anko7793.com/wp-content/uploads/2022/09/image-23.png?resize=343%2C227&ssl=1)
今回添付ファイルは使用しませんが、結構なスペースを占有しています。
邪魔なので消してしまいましょう。
データカードを選択してDelキーを押せば削除できます。
消さずに非表示にしたい場合は、Visibleをfalseにすれば実現できます。
項目の順番を変える
![](https://i0.wp.com/anko7793.com/wp-content/uploads/2022/09/image-24.png?resize=728%2C166&ssl=1)
実施日と実施者の位置が逆になっています。
これはフィールドの編集からかんたんに行えます。
![](https://i0.wp.com/anko7793.com/wp-content/uploads/2022/09/image-25.png?resize=728%2C264&ssl=1)
実際押してみると現在表示されている項目列が出てきます。
あとはドラッグアンドドロップで項目の順番を変えるだけです。
実施日と実施者の順番を逆転させれば、フォームは完成です。
フォームのモードとデータソースの更新
フォームのモードについて
![](https://i0.wp.com/anko7793.com/wp-content/uploads/2022/09/image-27.png?resize=728%2C428&ssl=1)
試しに現段階でアプリを実行させると画像左側のようになります。
これはフォームのモードがNewモードになっていないためです。
まず、フォームには3つのモードがあります。
新規レコードを作成するNewモード、既存レコードを編集するEditモード、既存レコード表示するだけのViewモードです。
今回作成するアプリはチェックリストの結果を新規に記録する必要があるため、Newモードで動作させます。
フォームをNewモードに切り替えるにはNewForm関数を使用します。
これは初回と新規レコード作成の都度、実行する必要があります。
そのため、初回はAppのOnStartにNewForm(Form1)をセットしておきます。
![](https://i0.wp.com/anko7793.com/wp-content/uploads/2022/09/image-28.png?resize=728%2C288&ssl=1)
これでアプリ起動時にフォームをNewモードで動作させることができます。
アプリ編集中は自動実行されないので、手動でOnStartを実行してください。
新規レコード作成の都度、Newモードに戻す処理は次で紹介します。
データソースの更新
![](https://i0.wp.com/anko7793.com/wp-content/uploads/2022/09/image-29.png?resize=728%2C252&ssl=1)
ようやくチェックリストの結果をデータソースに保存する機能を追加します。
最初に設置したボタンのOnSelectに次の記述をコピペします。
SubmitForm(Form1);NewForm(Form1);
最初のSubmitForm関数でフォームの入力内容をSharePointリストへ登録します。
次にNewForm関数でもう一度フォームをNewモードに戻します。
これがないと最初の1件しか利用できませんので注意してください。
以上でチェックリストアプリは完成です。
あとはアプリを実行し、実際に登録されているか確認しましょう。
![](https://i0.wp.com/anko7793.com/wp-content/uploads/2022/09/image-30.png?resize=728%2C161&ssl=1)
フォームを使ったチェックリストアプリの作り方のまとめ
今回は、とにかくかんたんに動くアプリを作るというのを目的としました。
そのため、基本的な機能しか利用していないので例外処理に弱いです。
そもそもFormsでよくない?と思ったあなた、目の付け所がシャープですね!
この内容であれば、Formsと大差ありません。
むしろ不特定多数が利用できる利点があるので、Formsに軍配が上がりますね。
でもPowerAppsはアプリです。
そう、作りこめば作りこむほど機能は充実します。
そこで何回かに分けて、このアプリに入力補助や例外処理対策を施していきます。
続きはこちらの記事をどうぞ。
このアプリは何回かに分けて少しずつ機能を強化していきますよ。