Power Automate DesktopでWindowsトースト通知を出す
無料で手軽に仕事が自動化できる「Power Automate Desktop」(以下PADと略す)を使い始めました。めちゃくちゃ便利ですね。
PADが便利なところが、PAD自身に機能が存在しないとしても、VBScriptやPythonなどスクリプトを手軽に実行できるので、基本的に何でもできる点です。既存の枠内だけでなんとかしなくても良いので実に合理的です。
Power Automate Desktopでトースト通知を出そう
この記事を執筆している時点で、PADにはWindowsトースト通知を行う機能はありません。しかし、PowerShellスクリプトを実行することで、以下の画面のように任意の通知が可能になります。
実現方法
いろいろなやり方がありますが、ここでは、PowerShellを使う方法を紹介します。
「PowerShell スクリプトの実行」を挿入
やり方は簡単です。画面左側にあるアクションから「スクリプト>PowerShell スクリプトの実行」を選択してキャンバスに挿入します。
スクリプトを記述
以下のスクリプトを記述します。PowerShellが分からないとアルファベットと記号の羅列に見えますが気にしなくても大丈夫です。これに関しては何も考えずにコピー&ペーストして大丈夫です。
$title = "通知だよー";
$msg = "喜びが最良の薬";
$t=[Windows.UI.Notifications.ToastNotificationManager,Windows.UI.Notifications,ContentType=WindowsRuntime]::GetTemplateContent([Windows.UI.Notifications.ToastTemplateType, Windows.UI.Notifications, ContentType=WindowsRuntime]::ToastText01);
$t.GetElementsByTagName("text").Item(0).InnerText=$msg;
[Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier($title).Show($t);
以下のような画面で「全般」の「実行する PowerShell コード」に上記のスクリプトを記述します。
そして、画面上部の実行ボタンをクリックします。すると、トーストが表示されます。
トースト表示をカスタマイズする方法
なお、トースト表示のカスタマイズをしたい場合は、上記スクリプトの1行目と2行目を修正します。
$title = "(ここにタイトル)";
$msg = "(ここにメッセージ)";
... 省略 ...
もしも、変数を埋め込みたい場合には以下のようにします。
$msg = "%ToastMessage%";
$title = "作業通知";
$t=[Windows.UI.Notifications.ToastNotificationManager,Windows.UI.Notifications,ContentType=WindowsRuntime]::GetTemplateContent([Windows.UI.Notifications.ToastTemplateType,Windows.UI.Notifications,ContentType=WindowsRuntime]::ToastText01);
$t.GetElementsByTagName("text").Item(0).InnerText=$msg;
[Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier($title).Show($t);
そして、アクションから「変数>変数の設定」でToastMessageに表示したい内容を記述します。
実行するとトーストに、変数の内容に設定したメッセージが表示されます。PowerShellのプログラムを書き換えなくて済むのでこちらの方が安心でしょうか。
まとめ
上記のように、PowerShellを記述することによりトースト表示が可能になります。PowerShellをうまく活用して、Power Automate Desktopを便利に活用しましょう。
Discussion