皆さんこんにちは。
業務ハックLabのよーよんです。
本日はPower Appsでタイムキーパーアプリを作ってみたので、その作り方について書いていきたいと思います。
タイムキーパーアプリって?
はい、まずタイムキーパーアプリって何?って思われる方もいらっしゃると思いますが要はプレゼンなどの発表時間を設定して、時間を視覚+聴覚でお知らせするアプリです。
LTなどの発表は時間が決められていますが気づいたら時間オーバーなんてこともあります。
それを防ぐために、アプリ上でカウントダウンを表示し、かつ既定の持ち時間の半分を過ぎたらベルを鳴らし、終了時間になったらもう一回鳴らすといった作りのものになっています。
タイムキーパーアプリの作り方
それでは早速作り方に行ってみしょう!
今回はPower Appsで新規アプリ作成画面を立ち上げたところから説明を開始しますね。
- Screenの「OnVisible」に変数を代入します。
ここではUpdateContext関数を使用して変数を設定します。
各変数ですが下記のコントロールで使用します。
変数名 関連コントロール名 用途 varTimerS Timer1のStartプロパティ Timer1のStartプロパティのコントロールに使用します varTimerOverS Timer2のStartプロパティ Timer2のStartプロパティのコントロールに使用します varSLabel Notes01_LのVisibleプロパティ Notes01_LのVisibleプロパティのコントロールに使用します varTimerV Timer1のVisibleプロパティ Timer1のVisibleプロパティのコントロールに使用します varTimerOverV Timer2のVisibleプロパティ Timer2のVisibleプロパティのコントロールに使用します - 画面へ下記コントロールを配置します。
コントロール コントロール名 用途 ラベル TimerTime_L プレゼン、LT時間の入力欄を解りやすくするため配置 テキスト T_Time プレゼン、LT時間を入力 ラベル Minute_L 時間の単位(分)を解りやすくするため配置 タイマー Timer1 カウントダウン用に使用 タイマー Timer2 終了時間オーバーした際のカウント用に使用 ボタン Strat_B カウントダウンを開始するために使用 ボタン Stop_B カウントダウンを一時停止するために使用 ボタン Reset_B カウントダウンをリセットするために使用 オーディオ Audiohalfway 時間の半分が経過した際にベル音を鳴らすために使用
適当な音源を拾ってきて割り当てしてくださいオーディオ AudioEnd 時間が終了した際にベル音を鳴らすために使用
適当な音源を拾ってきて割り当てしてくださいアイコン Icon1~Icon5 時間の経過を解りやすくするために使用 ラベル Notes01_L 注記のラベルを表示するために使用(カウントダウン開始前) ラベル Notes02_L 注記のラベルを表示するために使用(カウントダウン開始後) - 「Timer1」の設定を行います。
プロパティ 設定値 説明 Text 下記参照 Textプロパティはタイマーの表示形式を決めるところです。
今回はカウントダウンする形式にします。Duration T_Time*60*1000 Durationプロパティはタイマーの時間を決めるところです。
単位はミリ秒にです。Start varTimerS Startプロパティはタイマーのスタートをコントロールするところです。
trueになることで開始されます。OnTimerEnd 下記参照 OnTimerEndプロパティはタイマー終了時のアプリへの挙動を設定できます。
今回は変数の値を変更します。Visible varTimerV Visibleプロパティは可視不可視のコントロールを設定できます。
trueが可視、falseで不可視になります。 - 「Timer2」の設定を行います。
プロパティ 設定値 説明 Text 下記参照 Textプロパティはタイマーの表示形式を決めるところです。
Timer2はカウントアップする形式にします。Start varTimerOverS Startプロパティはタイマーのスタートをコントロールするところです。
trueになることで開始されます。Visible varTimerOverV Visibleプロパティは可視不可視のコントロールを設定できます。
trueが可視、falseで不可視になります。Startプロパティに「varTimerOverS」、Visibleプロパティに「varTimerOverV」設定することでTimer1の終了時にonTimerEndでそれぞれの値が「true」に変わるため、自動的にタイマースタートと可視状態になるといった動きをつけることができます。
- 「Strat_B」の設定を行います。
プロパティ 設定値 説明 OnSelect 下記参照 OnSelectプロパティは選択した際のアプリへの挙動を設定できます。 - 「Stop_B」の設定を行います。
プロパティ 設定値 説明 OnSelect 下記参照 OnSelectプロパティは選択した際のアプリへの挙動を設定できます。 - 「Reset_B」の設定を行います。
プロパティ 設定値 説明 OnSelect 下記参照 OnSelectプロパティは選択した際のアプリへの挙動を設定できます。 - 「Audiohalfway」の設定を行います。
プロパティ 設定値 説明 Start 下記参照 Startプロパティはオーディオのスタートをコントロールするところです。
trueになることで開始されます。Visible false Visibleプロパティは可視不可視のコントロールを設定できます。
trueが可視、falseで不可視になります。Startプロパティにこの設定をすることでTimer1のDurationが半分になるとAudiohalfwayが開始されるといった動きにできます。
- 「AudioEnd」の設定を行います。
プロパティ 設定値 説明 Start 下記参照 Startプロパティはオーディオのスタートをコントロールするところです。
trueになることで開始されます。Visible false Visibleプロパティは可視不可視のコントロールを設定できます。
trueが可視、falseで不可視になります。Startプロパティにこの設定をすることでTimer1のDurationが0になるとAudioEndが開始されるといった動きにできます。
- 「Icon1~Icon5」の設定を行います。
Visible 下記参照 Visibleプロパティは可視不可視のコントロールを設定できます。
trueが可視、falseで不可視になります。上記設定をすることで持ち時間を等分して経過時間ごとに表示されるような動きをつけることができます。
- 「Notes01_L」の設定を行います。
Visible varSLabel Visibleプロパティは可視不可視のコントロールを設定できます。
trueが可視、falseで不可視になります。Visibleプロパティに変数「varSLabel」を設定をすることでStrat_Bクリック時に「varSLabel」の値が「false」になり本ラベルが不可視状態になるといった動きをつけることができます。
- 「Notes02_L」の設定を行います。
Visible 下記参照 Visibleプロパティは可視不可視のコントロールを設定できます。
trueが可視、falseで不可視になります。Visibleプロパティにこの設定をすることでTimer1のDurationが0になると可視状態になるといった動きをつけることができます。
あとはお好みで背景やタイトルをつければ完成です。
実際の動きはこんな感じ。
昨日Power Appsで作ったタイムキーパーアプリ。
— よーよん@非IT企業のコーポレートIT (@Yo_Yon21) June 28, 2021
LTの時だけじゃなくてポモドーロテクニックにも使えそうで思ったより汎用性あるかも。#PowerApps pic.twitter.com/nNAVz8xI9R
ふと思ったけど、これポモドーロ・テクニックにも応用できそうですね。
何はともあれ作成自体は一から作り始めて1.5時間くらいで完成しました。
このアプリはデータベースなどを一切使ってないのでPower Appsに慣れていない方でも作れると思います。
是非是非作ってみてください。
それでは皆さん良い業務ハックライフを~