Automation 360 (Automation Anywhere A2019) でよくハマるポイント/トラブルシュート
Automation 360 (Automation Anywhere A2019) でボットを開発、運用していてよく遭遇するエラーとその解決策を中心に記載しました!(内容は順次更新していきます)
目次
- Excelでセルから取得した値が表示と異なる
- A2019クラウドアクセス時のエラー (一時的に接続できない)
- A2019クラウドアクセス時のエラー (過去一度も接続できない)
- Control Roomログイン時のエラー
- ボット実行時のエラー
- Automation 360 Bot Agent
- Bot Agentに指定するデバイスユーザー名がわからない
- ”UNKNOWN: Device is either disconnected or it needs to be upgraded." と出る
- Bot Agent呼出時「デバイスを通知しています...」で止まったままになる
- "There is already an existing deployment in-progress for this user session - (ユーザー名)" と出る
- "System allows only a single device to be registered. If you need to replace your existing device you should delete it first." と出る
- インストール中に "Automation Anywhere Bot Agent service install configuration fail to register and return error (5)"
- プロキシに接続するための資格情報を求められる
- その他のエラーが出る場合
Excelでセルから取得した値が表示と異なる
Excelの基本操作パッケージ利用時に取得される値
「Excelの基本操作」パッケージでExcelファイルのセルを読み込むと、Excelで開いたときにセルで表示されている値ではなく、数式バーに表示される「内部で保持されている値」が取得されます。日付も「シリアル値」として整数で取得されてしまいます。
シリアル値は日付に変換するパッケージがBot Storeで配布されています。(『A2019 日時 (日本)』) ※Bot StoreからパッケージをインストールできるのはEnterprise版のみ
Excel上でセルの幅が狭い場合に表示される "#####"
「Excelの高度な操作」パッケージは、実行にExcelアプリが必要になりますが、セルに表示されている値そのものが取得できます。(逆に内部で保持されている値は取得できません。) また、セルの幅が足りず "######"と表示されているときは、そのまま "######"という値が取得されてしまいます。
これらはどちらを取得したいかによって使い分けるようにしましょう。
Excelの高度なパッケージでは表示形式とセルの値の二通りが選べる
(A2019.16 (ビルド6439)以降では表示される通り (Read visible text in cell) か、内部の値 (Read cell value)かを選べるオプションがそれぞれのアクションにつきました。
ちなみに、余談ですが、上のUIでは「50% will be read as 50」となっていますが、これは間違えで、セルの値の中身を読み込む場合、50%は0.5と読めます。
空白セルと数字のゼロのセルの区別がつかない
Excelのセルはレコード型変数で読み込みますが、この変数の型は数字でも文字列でも読み込むことができ、かつレコード型の要素はIFアクションなどの評価式の中では文字列型としても評価することができます。そのため、空白セルを数字型で評価するとゼロにり、明示的に "0" が入っているセルと区別がつきません。
空白セルと "0" のセルを見分けるには、文字列型で評価して "" なのか "0" を区別してください。
空白セルのはずなのにヒットしない
また、いろいろな人に使い込まれたExcelシートでは、一見空白セルに見えても完全な空白ではないことがあり、空白セルの検索や空白文字との比較で引っかからないことがあります。Excelのセルを完全に空白にするには、セル上でDELキーを押すなど、確実に空白にする処理が必要となる場合があります。
また、文字列を比較する際、Ifアクションなどを使う場合、比較対象に代入する文字は「何も入力しないままの状態」にしてください。ターゲット地のところにも入力が「オプション」となっており、空欄のままにしておくことができます。ここに「""」や半角/全角スペース等の文字を入れたり、改行文字を入れないでください。 これらは見えない文字なので、見た目だけでは気づかないことがあります。
A2019クラウドアクセス時のエラー (一時的に接続できない)
ステータスダッシュボードを見て一時的なサービス中断を確認
過去にA2019クラウドサービスにアクセスできていたにも関わらず、アクセスができなくなったときは、クラウド側の障害を疑ってみてください。以下のステータスダッシュボードで、クラウドの稼働状況を確認することができます。
A2019クラウドアクセス時のエラー (過去一度も接続できない)
プロキシの設定を確認
A2019クラウドに一度もアクセスできていない場合は、認証プロキシが間にあることを疑ってください。以下の手順で確認と設定ができます。
Control Roomログイン時のエラー
UM1111: セッションの期限が切れました
Control Roomにログインした状態で30分操作がない状態が続くと自動でログアウトしてこのエラーが表示されます。
保存していない内容はクリアされてしまうので、席を立つ前に必ず保存をするように気を付けましょう。
UM1114: 2回ログインしています
別のマシン、もしくは同じマシンの別のブラウザーや異なるブラウザーセッションで、同じユーザーでログインすると、元々のControl Room画面はこのエラーが出てログアウトされます。
UM9999: 予期しない問題が発生しました
このエラーが出たときは、再度ログインをしてみてください。
ボット実行時のエラー
アプリケーションが実行されていないため、"(ウィンドウタイトル)"が見つかりません。(エラーコード: bot.execution.error)
レコーディングで操作対象のウィンドウをキャプチャする際に、ファイルを編集するアプリケーションの場合は、タイトルバーのテキストがファイル名や編集状態によって変化する場合があります。Automation Anywhereでは、ウィンドウを判別する手段の一つとしてウィンドウタイトルのテキストを見ているので、ここが変わりえる場合は、工夫をしておく必要があります。
たとえば、メモ帳もWindows 10ビルド1903以降はテキストを編集するとウィンドウタイトルの先頭に "*" (アスタリスク)が付加されるようになりました。Microsoft ExcelやWordではファイル名や「保存済み」などの状態が表示されます。
その場合、ウィンドウタイトルの可変の箇所をワイルドカード (*) で置き換えてください。
赤い画面で「'Node'で'insertBefore'を実行できませんでした:新しいノードが挿入される前のノードは、このノードの子ではありません。」エラー
よく読むと少し日本語がおかしいですが、これはGoogle Chromeを使っていてGoogle翻訳機能でAutomation Anywhereの画面に翻訳がかかっている場合に起こります。"Control Room"が「制御室」になっています!(間違え探し!)
解決策としては、Google Chromeのツールバーから、Google翻訳を解除してください。解除してページをリロードして実行するとうまくいくはずです。
実行時に "User not logged into the machine"
このエラーが出るときには、Bot Agentが適切にデバイスにログインできていません。
通常はBot Agentインストールの過程で自動的にユーザー名が正しく設定されるのですが、Windowsログイン名が日本語になっている場合、ユーザー名の設定が文字化けします。その場合、ユーザー名を日本語で正しく入力し直すとエラーを修正できます。
Automation 360 Bot Agent
Bot Agentに指定するデバイスユーザー名がわからない
Control Room画面の右上のデバイスアイコンから指定する「デバイスユーザー名」ですが、現在ログインしているコンピュータ名とユーザー名を組み合わせたものです。
例: "device01\taro.yamada"
これはコマンドプロンプトの "whoami" コマンドを実行することで確認することができます。
デバイスがUnattended Bot Runnerとして使われない限りパスワードは入れなくて構いません。
”UNKNOWN: Device is either disconnected or it needs to be upgraded." と出る
Control Roomのバージョンによっては "Device is disconnected"、"Bot agent needs an update"とも出ます。
いくつかの原因でこのエラーが出ることがあるようです。
- デバイスのセットアップが完了していない。
- お使いのA2019 Community Editionのユーザーアカウントが他のデバイスに紐づいている (過去のバージョンで現在は出ない)。
- A2019の他のユーザーアカウントのロボットを同じデバイスで最後に実行した。
- サーバー側がバージョンアップしたため、Agentのアップデートが必要である。
また、設定自体にはエラーがなく、2~3回再試行をしていると先に進める場合もあります。エラーが続く場合は、一度Bot Agentをアンインストールして再度インストールしてみてください。それでもダメな場合は、「デバイス」で一度登録済みのデバイスを削除後、再度登録してみてください。
Bot Agent呼出時「デバイスを通知しています...」で止まったままになる
レコーダー実行時、ボット実行開始時など、Bot Agentを呼び出すタイミングで「コンピュータに展開しています...デバイスを通知しています...」の画面のまま止まってしまう場合は、Bot Agentのバージョンが正しくない場合があります。
エラーが続く場合は、一度Bot Agentをアンインストールして再度インストールしてみてください。
"There is already an existing deployment in-progress for this user session - (ユーザー名)" と出る
このユーザーセッションでロボットを実行中に一度キャンセルして、すぐに再実行した場合などに表示されることがあります。まだ前の実行セッションが完全に終わっていない場合に表示されます。しばらく待ってから再度実行してみてください。
"System allows only a single device to be registered. If you need to replace your existing device you should delete it first." と出る
Community EditionにてControl Room側のバージョンが上がって、パソコンにインストールされているBot Agentのバージョンも更新する必要がある際に出る場合があります。Bot Agentの更新作業を行ってください。
もしくは、Community Editionで普段使っているデバイス以外でボットを実行した場合にも出ます。
うまくいかない場合は、一度Bot Agentをアンインストールして、再度インストールしてください。それでもダメな場合は、「デバイス」で一度登録済みのデバイスを削除後、再度登録してみてください。
インストール中に "Automation Anywhere Bot Agent service install configuration fail to register and return error (5)"
Bot Agentがインストールされていた環境に、Bot Agentのアップグレードなどで何回かアンインストールをして再インストールをしたタイミングである時点から本現象が発生。昔は正常にインストールできていた、という場合は、前回のアンインストール時にBot Agentサービスの残骸が残っていて、再インストールの際の障害となっていることが考えられます。
解決のための手段はこちらの記事を参照してください。
プロキシに接続するための資格情報を求められる
まずご利用環境でプロキシが利用されているかどうかを確認します。
netsh winhttp show proxy
と実行。返されるメッセージにより、プロキシサーバー有りか無しかがわかります。
有りの場合は、コマンドプロンプトを管理者権限で
netsh winhttp set proxy <IP Address>:<Port>
と実行します。IP AddressとPortにはプロキシサーバーのIPアドレスとポート番号を指定します。
その他のエラーが出る場合
エラーが続く場合は、一度Bot Agentをアンインストールして再度インストールしてみてください。それでもダメな場合は、「デバイス」で一度登録済みのデバイスを削除後、再度登録してみてください。
Automation Anywhere 公式フォーラムA-Peopleに、日本法人メンバーによる情報提供フォーラムやユーザーによる質問を受け付ける日本語フォーラムがあります。こちらも参照してみると解決策が見つかるかもしれません。