はじめに
私は社内広報チームに参加しているのですが、社内コミュニケーションが活性化してきたことを可視化したいねという意見があり、PowerAppsでアプリを作ってみることにしました。
この記事はTDCソフト株式会社 Advent Calendar 2023 20日目の記事です!
アプリイメージ
- アプリを使用してる人がボタンの内容を達成(ボタンクリック)した数だけボタンの周りの🌸が咲く
- 自分が達成(ボタンクリック)したらボタンの色をピンクにする
- 2回以上同じボタンをクリックした場合は絵文字を🍃⇆🌸に、ボタンの色を緑⇆ピンクに変更する
手順
【事前準備】
- データソース用のエクセルを作成してOneDriveにアップロード
- 背景画像作成
【PowerApps】
- 空のキャンバスアプリ作成
- データソース追加
- 背景画像選択
- ボタン作成
- テキストラベル作成
- 動作確認
- アプリ公開
【事前準備-1】データソース用のエクセルを作成してOneDriveにアップロード
テーブルとして使いたい項目を1行目に記入して、テーブルとして書式設定
プライベート設定ではなくアプリを公開する相手に共有設定する(アクセス許可は編集可能にする)
※アプリを公開する相手がOneDriveの使用権限があること
【事前準備-2】背景画像作成
今回はCanvaで作成(共有ボタンからダウンロード可能)
Canvaは無料でも結構いい感じの画像を作れるのでおすすめです!
【PowerApps-1】空のキャンバスアプリ作成
【PowerApps-2】データソース追加
データの追加からOneDrive for Businessを選択
【PowerApps-3】背景画像選択
右側の背景の画像のドロップダウンから画像ファイルの追加を選択
【PowerApps-4】ボタン作成
テキストを編集(Shift+Enterで改行)し、
丸いボタンを作りたいので、プロパティタブからサイズをX:100、Y:100に、詳細設定タブからRadius〜を100にする
ボタンを押したときに、ボタン名(項目名)かつ自分のメールアドレスがkonokiテーブルに存在する場合はレコードを削除し、存在しなければレコードを追加するように、OnSelectに下記を入力
※関数の詳細は一番下の参考リンクご参照
If(CountIf(konoki,項目名="Teamsでリアクションした👍",メール=User().Email)>0,RemoveIf(konoki,項目名="Teamsでリアクションした👍",メール=User().Email),Patch(konoki,{項目名:"Teamsでリアクションした👍",メール:User().Email,名前:With({fullName:Split(User().FullName," ")},Last(fullName).Value&" "&First(fullName).Value),登録日時:Now()}))
ボタン名(項目名)かつ自分のメールアドレスがkonokiテーブルに存在する場合はボタンの色をピンクにするように、Fillに下記を入力
If(CountIf(konoki,項目名="Teamsでリアクションした👍",メール=User().Email)>0,RGBA(254,123,191,1),RGBA(73, 130, 5, 1))
【PowerApps-5】テキストラベル作成
ボタン名(項目名)がkonokiテーブルに1レコード以上ある場合は🌸に、ない場合は🍃になるように、Textに下記を入力
If(CountIf(konoki,項目名="Teamsでリアクションした👍")>0,"🌸","🍃")
ボタンの周りを囲むように配置し、レコード数判定の数字は1ずつカウントアップする
【PowerApps-6】動作確認
🌸が咲いてボタンの色がピンクになった!もう一回クリックしてみる
【PowerApps-7】アプリ公開
改善点
- リスト画面を追加してボタンの内容を達成(ボタンクリック)した人が誰かわかるようにする
- テキストラベルを用意した数だけしか🍃→🌸にならないので、テキストラベル数以上の人がボタンの内容を達成した場合は「+3」等表示し、達成人数がわかるようにする
さいごに
PowerAppsは社内向けアプリが簡単にできますね!
身近なローコード開発ツールなので、開発初心者でも手が出しやすいのではないかと思いました!