JIMY←PS

画像ファイルやPDFファイルの中の文字をOCR機能で抽出する製品「AI JIMY Paperbot」の操作を、Automation Anywhere A360を使って自動化する方法の操作フローに倣って、PowerShellで自動化する方法を試してみたので紹介します。
このページで紹介するのは、[実行]ボタンをクリックする処理の実装方法です。

【注】
PowerShellでWindowsアプリの操作を自動化する方法としては、UI Automation PowerShell Extensionsを利用しています。UI Automation PowerShell Extensionsについては、こちらを参照してください。

■操作対象
右端の[実行]ボタンをクリックします。
JIMY-01

■スクリプト
Import-Module C:\UIAutomation\UIAutomation.0.8.7B3.NET35\UIAutomation.dll
#============================================
#処理メイン
#============================================
function main(){

    #メインウィンドウ オブジェクトを取得する。
    $wndw = Get-UiaWindow -Name 'AI JIMY Paperbot'

    #[実行]ボタンをクリックする。(仕分け&文字認識の実行)
    $wndw | Get-UiaButton -AutomationId 'btnAuto' | Invoke-UiaControlClick | Out-Null
}

main
■実装内容の説明
UI Automation PowerShell Extensionでボタンをクリックする操作に使えるコマンドレットとしては、
「Invoke-UiaButtonClick」と「Invoke-UiaControlClick」があります。
「Invoke-UiaButtonClick」では、ボタンをクリックするだけの処理では問題なかったのですが、後続の処理をいろいろ追加していったときに、他のコマンドレットの応答が極端に遅くなる現象が発生しました。
これに対して「Invoke-UiaControlClick」では、そのような現象が発生しなかったので、「AI JIMY Paperbot」のボタンクリックには「Invoke-UiaControlClick」が良さそうだ、という判断をしました。

■操作対象のオブジェクトの調べ方
操作対象のオブジェクトのNameとかAutomationIdを知るためのオブジェクト解析ツール「UIAutomationSpy」の使い方は、こちらです。

■その他の操作
仕分処理・文字認識処理が完了したときに表示するメッセージボックスを待つ処理の実装方法は、こちらです。