Automation Anywhere 開発環境をV11からA2019に変えるときの心構え – Control RoomにアップロードするPythonやVBScriptのファイル名称やパスに全角文字を含んではいけない

Automation Anywhere

開発環境を変更するときの学習コストは、できるだけ抑えたいものです。「Automation Anywhere 開発環境をV11からA2019に変えるときの心構え」では、これまでV11の開発環境を使っていた筆者が、A2019を使い始めて気付いた事を中心に説明しています。

スクリプトの格納場所について

PowerShellスクリプトを実行する方法としては、①「アプリケーション」パッケージの「Open」アクションを使う方法と、②「VBScript」パッケージや「Python」パッケージを使う方法が考えられます。①と②の大きな違いは、①ではローカルフォルダのPowerShellスクリプトを実行することはできますが、Control Roomにアップロードしたスクリプトを実行することができません。
Community Editionを使ってデバイス1台のみで運用する場合は、①の方法でも構いませんが、複数のデバイスを使う可能性がある場合は、Control Roomにアップロードしたスクリプトを実行するのが妥当です。Control Roomにアップロードしたスクリプトを実行するように依存関係を設定しておけば、Botを実行するデバイスにAAEが自動的にスクリプトをダウンロードして実行します。
ここでは、スクリプトをControl Roomにアップロードして使うときの注意事項について紹介します。

ファイル名称やパスに全角文字を含んではいけない

PowerShellスクリプトを実行する方法を試しているときに、Control RoomにアップロードするPythonやVBScriptのファイル名称やパスに全角文字を含んではいけない、ということが分かりました。(2020/3/3時点で動作確認したものです。)
スクリプト内で全角文字を含むパスを使っている場合に問題が起きるのではないか?と思われます。ファイル名称やパスに全角文字が含まれていても、それだけで問題になることはない、ということは ここ で紹介したTask Botの例で確認済です。
いずれにしても、想定外の問題が発生しないように、全角文字を使わないようにするのが良いと思います。

スクリプトの実行時エラーを調べる方法

Commuity Editionで確認した例ですが、スクリプトのエラーログが「C:\ProgramData\AutomationAnywhere\BotRunner\Logs」に出力されます。Pythonなら「python2wrapper.log」や「python3wrapper.log」、VBScriptなら「VBScriptWrapper.log」です。スクリプトの動作が思ったようにいかないときは、これを確認するいいと思います。
Control RoomにアップロードするPythonやVBScriptのファイル名称やパスに全角文字を含んでいた場合、エンコードエラーが発生していることが分かりました。

■ログ抜粋
UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 240-245: ordinal not in range(128)

 

【補足】

「Python」パッケージを使ってPowerShellスクリプトを実行するサンプルを こちら で紹介しています。

【余談】

お勧めはしませんが、「アプリケーション」パッケージの「Open」アクションで、ローカルフォルダのPowerShellスクリプトを実行する方法なら、全角文字を含んでいても実行できることを確認しました。(^^;)