リモートワークになってから特によく見るようになった (TLで買っている人が増えた) Stream Deck。結構値が張るんですよね。 それほど効果や利用頻度が高いのかわからない中で買うのは勇気がいります。

ELGATO ショートカットキーボード elgato Stream Deck 10GAA9901
- メディア: Personal Computers
Stream Deck のようなラウンチャーはどうも電子工作をすると作れるらしいというのを目にしたのですが (だいたい20ドルくらい)、電子工作できないしなーということで、自分の手持ちのツールでそれっぽいものをつくってみました。
実際の動作は以下のツイートからどうぞ。だいたいコマンドを選択してから5秒くらいでローカルのPCに反映されます。
Made with #PowerApps & #PAD
— Hiro (@mofumofu_dance) 2021年1月23日
“StreamDeck” like desktop launcher😁
Thanks @carsten_growth for a great advice👍 pic.twitter.com/x0520LrgB0
レシピ
必要なものは以下のとおりです。
- Windows 10 Pro以上がインストールされたPC
- Power Automate Per user plan with attended RPA (有償ライセンス)
- Power Apps が利用できる Microsoft 365 環境
- iPhone (Androidでもなんでもよい)
(ライセンスさえあれば) 実質0円で作れますね!
Power Automate 側でつくるもの
Power Automate では Power Appsをトリガーにする簡単な親フローと、Power Automate Desktop で実行される Desktop flowを作成します。
例えば、単純にTeamsを起動させたい場合には、以下のような1ステップだけのDesktop flowを作りました。
Teamsの起動のためのexeがどこにあるか謎でしたが、ユーザー以下のAppData\Local\Microsoft\Teams\current\Teams.exe
にexeがあったのでこれを呼んでいます。
あとは Youtube や Google を一発起動したいので、[DOSコマンドの実行] を挿入して以下のコマンドを実行させるフローも用意しました。
start chrome.exe "%address%"
ここで%address
は入力変数で、開きたいサイトのURLを指定します。 (例えばYoutubeなら www.youtube.com)
最後に、Teams を使っているときに多用するミュートの切り替えも登録しておきます。
Desktop flowとしては大きくこの3つです。
続いてCloud flow側ですが、Power Apps から 2つのパラメータを受け取るようにしています。
1つは実行するDesktop flowの種類を指定するパラメータ、2つ目はURLを開くときの入力変数です。
Switch で 実行するフローを切り替えていますが、もう少し利口なやり方があるかもしれません。
Automate側としては以上です。
Power Apps 側でつくるもの
Power Apps ではボタン風の画像を並べて、クリック時にフローを実行しているだけです。
特に強い要件ではないですが、複数個並べるために一度Collectionを作っておいて、ボタンはギャラリーに表示させています。
こうしておくとコレクションの追加・削除とローカルへのデータ保存で利用する側が自由にボタンを付けたり消したりできますね。
Collectionの中身は非常に単純です。
おわり
お金をかけず、Power Automate Desktopの勉強にもなる非常によいテーマでした。
込み入った自動化はもう少し大変そうですが、簡単なコマンド発行にも使えるPower Automate Desktop、ぜひライセンスをお持ちであればこんな使い方も試してみてはいかがでしょうか。