2021年3月15日月曜日

Power Automate Desktop のフローを「バッチファイル」「ショートカット」「FileMaker」などから実行

2022/12/01 追記
Power Automate バージョン:226.139.22312(あたり) 以降は、最下部の修正を適用してください。

Power Automate Desktop のフローを実行

コマンドプロンプト
バッチファイル
ショートカット
FileMaker などから実行するための PowerShellスクリプト

動作検証
Wiundows 10
Power Automate Desktop 2.5.39.21056
PowerShell 5.1・7.1.3

ファイルダウンロード ¥0
PAD_aid.zip
https://fm-aid.stores.jp/items/604f73e6243860052a8c9134


準備

WinAppDriver をインストール
WindowsApplicationDriver_1.2.1.msi(2021/03/15現在)をダウンロードしてインストール

-
WinAppDriver を利用するには、「開発者モード」にする必要があります。
「設定」- 更新とセキュリティー」-「開発者向け」



KickPADFlow.ps1 の設定・確認


6行目 Power Automate Desktop のコンソールウインドウの名前を確認。
違う場合は合わせてください。
$PADWindowName='Power Automate Desktop (プレビュー)'


7行目 PAD.Console.Host.exe のパスの確認。異なる場合は修正
$PADConsoleHostExePath="C:\Program Files (x86)\Power Automate Desktop\PAD.Console.Host.exe";

8行目 WinAppDriver.exe のパスの確認。異なる場合は修正
$WinAppDriverExePath='C:\Program Files (x86)\Windows Application Driver\WinAppDriver.exe';WinAppDriver.exe

9行目 ポートが競合しエラーになる場合は、変更してください
$WinAppDriverPort=4727;

19行目 WinAppDriver.exe のコンソールを隠したい場合、
-windowstyle を Minimized や、Hidden に設定
Start-Process -windowstyle 'Normal' -FilePath $WinAppDriverExePath -ArgumentList $WinAppDriverPort;  



実行方法

ダウンロードしたファイルを任意のフォルダへ展開


コマンドプロンプト で実行


KickPADFlow.ps1 のあるフォルダへ移動
 C:\Users\PCUSER>cd C:\Users\PCUSER\Desktop\PAD_aid 

KickPADFlow.ps1 を実行。引数:フロー名 以下の例では、"01"
 C:\Users\PCUSER\Desktop\PAD_aid>powershell -NoProfile -ExecutionPolicy Unrestricted .\KickPADFlow.ps1 "01" 

バッチファイルで実行

KickPADFlow.bat をダブルクリック
実行するフローの指定は、以下例の "01" を変更。

cd %~dp0
powershell -NoProfile -ExecutionPolicy Unrestricted .\KickPADFlow.ps1 "01"

バッチファイルが KickPADFlow.ps1 と別の場所にある場合は、.\KickPADFlow.ps1 をフルパスに」変更。

powershell -NoProfile -ExecutionPolicy Unrestricted "C:\Users\PCUSER\Desktop\KickPADFlow.ps1" "01"


ショートカットで実行

KickPADFlow_Shortcut をダブルクリック


リンク先:
実行するフローの指定は、以下例の "01" を変更。
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -ExecutionPolicy Unrestricted .\KickPADFlow.ps1 "01"

作業フォルダ:
KickPADFlow.ps1 と同じフォルダにある場合は、空欄
ショートカットが KickPADFlow.ps1 と別の場所にある場合は、.\KickPADFlow.ps1 のあるフォルダを設定。例:C:\Users\PCUSER\Desktop\PAD_aid

KickPADFlow.ps1

※注意! Power Automate Desktop のウインドウ名に合わせてください。

6行目
$PADWindowName='Power Automate Desktop (プレビュー)'; 
↓ 変更してください。
$PADWindowName='Power Automate'; 




2022/12/01 追記
Power Automate バージョン:226.139.22312(あたり) 以降は、以下修正をしてください。

以下、赤枠部分を追加。


<#"自分のフロー"をクリック#>
$httpRequest="/session/$sessionId/element/$element/element"; 
$postParams = '{"using":"name","value":"自分のフロー"}' ;
$jsonContent=Post $httpRequest $postParams; 
$element0=$jsonContent.value.ELEMENT ;
$httpRequest="/session/$sessionId/element/$element0/click"; 
$postParams = '{}' ;
$jsonContent=Post $httpRequest $postParams;

-


5 件のコメント:

  1. いつも便利に使わせていただいています。最新バージョンのPADでは、ホーム画面が最初に表示されるようになったことから「自分のフロー」タブを選択した後でないと起動に失敗するようになりました。フローの検索前に「自分のフロー」タブを選択するアクションを入れれば良いとは思うのですが、どこを直せばよいのでしょうか?

    返信削除
  2. チョット見てみましたが、すぐには直せそうにありません。

    返信削除
    返信
    1. ご確認ありがとうございます。意外と難しいのですね。いずれお時間のある時にご対応いただければ幸いです。当面は手動で対応したいと思います。

      削除
  3. PADを更新したら、ウインドウ内の要素の検索が反応しなかったのですが、
    再インストールしたら、動作しました。
    上記の修正をすれば、Power Automate バージョン:226.139.22312(あたり) 以降に対応します。

    返信削除
    返信
    1. 早速ご対応ありがとうございました。試したところ問題なく動作する事を確認しました。どうもありがとうございました。

      削除