PowerAppsの使い方

PowerAppsの使い方やできることがわかるブログを目指しています。

PowerApps Flowから値を取得する

PowerAppsコネクタの[PowerAppsに応答します]アクションを用いることで、Flowから簡単に値を取得することができます。

 

Flowの作成

まずはFlowから作成していきます。

 

トリガーはPowerAppsのやつ。

アクションは[PowerAppsに応答します]を選びます。

f:id:botherntu:20190331235207p:plain

PowerAppsに応答します

出力追加から、テキストや数値、フラグなどを選んで指定することができます。

今回は下記のように設定してみました。

テキスト型/name:前田

フラグ型/enabled:true

数値型/id:1

f:id:botherntu:20190331235319p:plain

出力追加

これでFlow側は完成です。

 

PowerAppsからFlowを呼び出す

 

次にPowerAppsからFlowを呼び出して値を取得してみます。

適当にボタンを作りまして、OnSelectにFlow呼び出し関数を記入します。

ボタンを選択して、[アクション] > [Flows] > [先程作ったFlow] と選びます。

 

f:id:botherntu:20190401000226p:plain

Flowの選択

関数の()を閉じるのを忘れないように。

 

これでFlowを呼べるようになりました。が、このままでは取ってきた値を保持してくれません。変数に入れましょう。

 

取得した値を変数に保持する

UpdateContext()関数を用いて画面内でのみ保持してくれるローカル変数を作成、代入することができます。

 

f:id:botherntu:20190401000952p:plain

変数に代入する

OnSelect.UpdateContext({locResponse:PowerApps応答で値を取得するテスト.Run()})


 取得した値を利用する

上記のように取得した値は、こんな感じで使用することができます。

 

locResponse.id

locResponse.name

locResponse.enabled

 

 

f:id:botherntu:20190401002348p:plain

値の利用

 以上のような感じでFlowから値を取得して、PowerAppsで利用することができます。

 

まとめ

今回は簡素な、固定値で試しましたがFlowで有用な処理をしたあとの様々な値をPowerAppsへ返して利用することができますので、利用の範囲は広いと思います。

PowerApps PowerAppsを管理するPowerAppsアプリを作成する

PowerAppsのコネクタの中にはPowerAppsを管理するのに使えるものが用意されています。


こちらは

Office 365 Advent Calendar 2018 - Adventar

 23日目の記事です。

 

PowerAppsのコネクタの中にはPowerAppsを管理するのに使えるものが用意されています。

 

管理用コネクタ

以下の3つのコネクタで環境の管理や、アプリ、コネクタの情報などを扱うことができます。

 

 Power Platform for Admins

f:id:botherntu:20181223202754p:plain

PowerApps for Admins

f:id:botherntu:20181223202756p:plain

PowerApps for App Makers

f:id:botherntu:20181223202759p:plain

 

 解説ページがあります

英語ですが、これらのコネクタについてざっと解説してあるページがあります。

Announcing new Admin and Maker Connectors for PowerApps and Flow

 

上記のページではなんと管理系のすべてのコネクタを使ったサンプルアプリが配布されております!

 

これがめちゃ使える!

 

これを使うと、引数に何を入れればいいんだろう?とかがさっと使い方がわかるのでおすすめですよ!

 

ダウンロードはここからできます。

http://blogcode.blob.core.windows.net/admin-connectors/ConnectorBrowser.zip?st=2018-08-24T20%3A22%3A27Z&se=2025-08-25T20%3A22%3A00Z&sp=rl&sv=2018-03-28&sr=b&sig=xUsKY9%2Fvw24L5uRS5Qk9FqODMgAUqLipk7bdZ9RhobU%3D

 

ご自身の環境にインストールして試してみてください。

f:id:botherntu:20181223204808p:plain

配布されている管理コネクタのサンプルアプリ


上記のコネクタ類を使うと、PowerApps を管理するPowerAppsアプリなんかも作れます。

 管理用アプリをつくってみた

上記のアプリを参考にしてこんな感じで作ってみました。

 

f:id:botherntu:20181223211821p:plain

ざっと機能を説明すると、

・テナントの全環境が表示されます。

・環境を選択すると、環境内のアプリが表示されます。

・アプリを選択すると、アプリの詳細へ移動します。

 

f:id:botherntu:20181223214235p:plain



・アプリ詳細画面ではアプリ名、所有者や作成日、更新日などが確認できます。

・アプリで使用しているコネクタが表示されます。

・ここからアプリを開くことができます。

・アプリ所有者へメールを送ることができます。

・アプリを削除できます。

 

f:id:botherntu:20181223212135p:plain

・タイトル、本文を入力してアプリの作成者へメールを送ることができます。

 

 

 

 

このように管理用のアプリを自分で作成することができます。

このアプリは下記にアップしてありますので、実際にご自身の環境に入れて実装がどうなってるかなど、是非参考にしてみてください。

https://zezeze-my.sharepoint.com/:u:/g/personal/maeda_zezeze_onmicrosoft_com/Ec6o_t9BnKVBrJ1K1QM9mf0BfAUQeFN8MLo6gISzXSdpNw?e=O8HB8e

PowerApps 学習に使えるリンク集

PowerAppsの学習に使えそうなリンクをまとめてみました。

 

リファレンス系

数式(関数)の一覧

関数、シグナル、列挙型 - PowerApps | Microsoft Docs

 

 コントロールの一覧

プロパティの検索 - PowerApps | Microsoft Docs

 

コネクタ系

コネクタの使い方を調べる

コネクタの概要 | Microsoft Docs

 

カスタムコネクタを作る

カスタム コネクタの概要 | Microsoft Docs

 

学習動画

www.youtube.com

 

 

www.youtube.com

 

管理系

管理する

PowerApps の管理 - PowerApps | Microsoft Docs

 

更に管理する

PowerShell のサポート (プレビュー) - PowerApps | Microsoft Docs

 

エンタープライズ環境のPowerApps 導入と管理ホワイトペーパー(公式の管理者向けガイドライン

https://aka.ms/powerappsadminwhitepaperjp

 

PowerApps系管理用コネクタの説明ページ(英語)

Announcing new Admin and Maker Connectors for PowerApps and Flow

PowerApps for Admins (Preview) - Connectors | Microsoft Docs

Power platform for Admins (Preview) - Connectors | Microsoft Docs

PowerApps for App Makers (Preview) - Connectors | Microsoft Docs

 

ライセンス系

無料で使えるライセンス

PowerApps コミュニティ プラン -- 個人用の無料開発環境 - PowerApps | Microsoft Docs

 

価格とライセンス

価格 - PowerApps

ライセンスの概要 - PowerApps | Microsoft Docs

 

ユーザコミュニティ

日本語で交流できるオープンなコミュニティ。

Japan PowerApps User Group公開グループ | Facebook

Japan PowerApps User Group - イベント一覧 - connpass

 

Office365を家庭利用するユーザグループ。PowerAppsが多く扱われる。

Home 365 User Group - connpass

 

英語のコミュニティ。日本のより情報量は多い。

PowerApps Community - Power platform Community

 

その他

同じような趣旨でリンクをまとめていらっしゃいます。

PowerAppsを始めるために必要なリンク集まとめ - 吉田の備忘録

 

更新情報を伝えてくれる開発ブログ(英語)

PowerApps とは | Microsoft PowerApps

 英語のウェビナー。

ウェビナー リスト - PowerApps | Microsoft Docs

 

zezeze.hateblo.jp

 

 

PowerApps OneDrive上のExcelファイルをデータソースとして使う

PowerAppsはエクセルファイルもデータソースとして使用することができます。

多少ハマりポイントがあるかなと思うので、手順と合わせて書いてみます。

 

今回はOneDriveで試しましたが、他のクラウドストレージのDropBoxGoogle Drive、Boxなどでも同様にできると思います。

f:id:botherntu:20181019073142p:plain

 

OneDriveでエクセルファイルを作成する

OneDrive上の任意の場所にExcelファイルを新規作成、またはすでにファイルが有る場合はアップロードしてください。

ファイル名やパスに日本語が含まれていても問題はなさそうです。

f:id:botherntu:20181019063733p:plain

Excelでテーブルを作成、設定する

Excelを開いて、データソースとする"テーブル"を作成します。

今回は試しに簡易タイムカード的なシステムをPowerAppsで作る想定で、

名前、種別(出勤か退勤か)、時間 を入れられるテーブルを作ってみました。

 

まず、ヘッダ(見出し)を作っていきます。こんな感じ。

f:id:botherntu:20181019065357p:plain

 

で、次にダミーの値を入れていきます。

 

実際の運用後はもちろんPowerAppsで値を入れられるんですが、ここでダミーの値を入れる理由はPowerAppsに「こんな値が入るんだよ!」というのを教えるのが目的です。

そうすると、PowerAppsがいいかんじに勝手に処理してくれるので、とても楽です。

f:id:botherntu:20181019065816p:plain

 

そうしたら、最後にテーブルとして指定します。

ホーム > テーブルとして書式設定 > OKとします。

先頭行をテーブルの見出しとして使用する、にチェックが入っていることも確認してください。

f:id:botherntu:20181019064741p:plain

これでこのExcelをテーブルとして使用する準備が完了しました。

PowerAppsからデータソースを参照する

PowerAppsから参照する手順は他のデータソースと同様です。

まずコネクタを選んで・・・

f:id:botherntu:20181019071330p:plain

ファイルの場所まで行って・・・

f:id:botherntu:20181019070758p:plain

テーブルを選べば・・・

f:id:botherntu:20181019071007p:plain

 

できた!

f:id:botherntu:20181019071726p:plain

ハマりポイント

無事参照ができて、保存処理を実装したら

こんなメッセージが出た方いらっしゃいますか?

"変更の保存中に問題が発生しました。データソースが無効の可能性があります。"

f:id:botherntu:20181019072024p:plain

ひょっとして元のエクセルファイルを開きっぱなしにしていないでしょうか。

Excelは閉じてないとどうもだめみたいです。確認してみてください。

PowerApps タイマーを利用してUIをアニメーションさせる

タイマーを利用するとボタンを明滅させて目立たせたり、テキストをアニメーションさせたりできます。

 

 

 

 

f:id:botherntu:20181009070921g:plain

 

アニメーション例

Xとタイマーの値を連動させると横移動します。

[Xプロパティ] Timer1.Value

 

ボタンの明滅はFillで設定できます。

[Fillプロパティ] RGBA(56, 96, 178, Timer1.Value/2000)

 

変数を利用すると、表示切り替えなどに利用できます。

<タイマー>

[OnTimerEnd] UpdateContext({buttonSwitch:!buttonSwitch})

<UI>

[Visible] buttonSwitch

[Color] If(buttonSwitch,Red,White)

 

上記以外にも活用方法はあると思います。

いろいろ試して遊んでみてください。

 

よく使うプロパティ

[Timer.OnTimerEnd]:タイマーが終了したときに実行したい関数を記述できます。

[Timer.Value]:タイマーの現在の値をミリ秒単位で取得できます。

[Timer.Duration]:タイマーの長さをミリ秒単位で設定できます。

 

PowerApps 推奨開発環境について

PowerAppsはブラウザーで開発可能ですが、ブラウザによって挙動があやしかったりします。

 

少し前の情報ですが、IEは動作が重かったり、FireFoxは一部表示がおかしい箇所がありました。

 

私は普段ChromeでPowerAppsに触れています。

 

MS的にもEdgeかChromeが開発の推奨環境のようです。

下記リンクの[PowerApps Studio のサポートされているブラウザー]が開発環境のことを指しています。

docs.microsoft.com

 

可能であればEdgeまたはChromeで開発するのがいいと思います。

 

Macの場合はChromeがいいでしょう。

[PowerApps Studio のサポートされているブラウザー]のなかでmac OSではChromeしか選択肢がありませんので。

 

PowerApps 1アクションで関数を2つ実行する

たとえばボタンのOnSelectで、フォームの保存と画面遷移をしたい場合。

SubmitForm(Form1)
Back()

 

これでは動きません。こんな感じにエラーになると思います。

f:id:botherntu:20180915114930p:plain

 

 1.SubmitForm(Form1)

2.Back()

2つのことを実行させたいわけですが、続けて複数の関数を書く場合は
関数の終わりに

;

を入れます。

SubmitForm(Form1);
Back()


こうすると、正常に動くようになります。

 

わかりにくい!知りたいことが書いていない!記事に誤りがある!この記事イケてないな!
などありましたらご指摘いただけると幸いです。

コメントまたはTwitterの方までお願いします。