Power Automate for desktop

[Power Automate for desktop]同じアプリケーションが同時に複数起動している場合の操作方法

アプリケーションのボタンをクリックする等の操作をPower Automate for desktop(PAD)で行う際、対象となるアプリケーションが複数起動していると意図した通りにフローが動かない場合があります。

例えば下図のフローでは「アプリケーションの実行」アクションで同じアプリケーションを2つ同時に起動し、それぞれで追加したUI要素「Button ‘Button’」と「Button ‘Button’ 2」をクリックする処理を行いますが、異なるUI要素を指定しているにも関わらず、同じボタンがクリックされます。

原因はUI要素のセレクターを見ると一目瞭然で、どちらのボタンも親要素が同じでセレクターも全く同じ内容となっているため、ボタンの識別ができずに同じボタンをクリックする結果となったことが分かります。

意図した通りにフローを実行するには、操作対象となるUI要素の“親ウィンドウ”を識別する必要があるのですが、このような場合に使えるのがUI要素の「ProcessId」(プロセスID)プロパティです。

プロセスIDとは、文字通りプロセス(アプリケーション)を識別するための一意のIDで、PADでは「アプリケーションの実行」アクションの“生成された変数”として取得できます。

プロセスIDで親ウィンドウを識別する方法

下記記事でも紹介している通り、PADではセレクターで変数が使えます。

そこで、プロセスIDを格納するための変数(%TargetProcessId%)を用意し、親ウィンドウのセレクターに下記のように「ProcessId」を追加することで、任意のタイミングで変数の値を変更し、操作対象となる親ウィンドウを切り替えることができます。

:desktop > window[Name="Contoso Invoicing"][Process="LegacyInvoicingApp"][ProcessId="%TargetProcessId%"]

実際のフローの実行画面が下図になります。

同じアプリの操作を同時に自動化する機会も少ないかもしれませんが、ウィンドウの指定にプロセスIDが活用できることだけでも覚えておくと、いつか活用する機会に出会えるかもしれません。

「お疲れお兄さんは手芸沼につかりたい」Twitterキャンペーンに当選しました。前のページ

2023年1月の人気記事次のページ

関連記事

  1. Power Automate for desktop

    たった1行でPower Automate for desktop(PAD)から自由自在にExcelを…

    ※ 本記事は「RPA(ロボティック・プロセス・オートメーション) Ad…

  2. Power Automate for desktop

    [Power Automate]クラウドフローとデスクトップフローとのファイル連携について

    前回の記事でクラウドフローとデスクトップフローの連携について紹介しまし…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP