PowerAppsの使い方

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()


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

 

PowerApps ボタンにSEをつける

ボタン押下時に、SEを鳴らしてみます。

一見難しそうですが、関数はたったの1行だけで実装できます。

 

サウンドファイルを準備する

まずはサウンドファイルをメディアに追加しましょう。

 

画面上部から、[ファイル]を選択。

次に左メニューから[メディア]を選択して、下の画面を表示します。

f:id:botherntu:20180912025910p:plain

 

表示できたら、参照から再生したいサウンドファイルを指定します。

これでサウンドファイルの準備ができました。

 

オーディオコントロールを準備する

次にオーディオコントロールを用意します。

 

[挿入] > [メディア] > [オーディオ]と選択し、コントロールを挿入します。

f:id:botherntu:20180912034559p:plain

 

オーディオコントロールのプロパティの[メディア]から、追加したサウンドファイルを選びます。

f:id:botherntu:20180912030120p:plain

 

これでオーディオ再生用コントロールの準備ができました。

 

実装する

次はボタンを押したら音がなるようにしていきます。

 

適当にボタンを追加し、

メディア・コントロールの AutoStart プロパティに下記の様に記述します。 

If(ButtonA.Pressed,true,false)

ButtonAの部分はご自分のボタンの名前に変えてください。

 

f:id:botherntu:20180912032514p:plain

 

これで完了です。

 

ボタンを押すと、オーディオが再生されます。

f:id:botherntu:20180912032405g:plain

 

完成!

 

実際はオーディオコントロールは非表示にしておくのがいいと思います。

 

変数を利用してボタン以外でも音を鳴らす

ボタン以外で実装する場合には、変数を用いる場合もあります。

変数を使う場合はボタンなどのOnSelectなど任意のタイミングで下記の様に記述します。

UpdateContext( { PlaySelectSound: true} );
UpdateContext( { PlaySelectSound: false} )

 

f:id:botherntu:20180912033808p:plain

 

オーディオコントロールの方もコメントにしていた内容に修正することで、音がなるようになります。

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

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