皆さんこんにちは!システムズエンジニアリングセンター(SEC)の北村です。
今回は自身の体験をもとに、半年間UiPathを学んできて躓いたこと/困ったことを4つ紹介・解説していきます。

目次

セレクターに変数を代入する方法

図1の「test.txt – メモ帳」に変数を入れたい場合を例として、変数の代入に苦戦した事例を紹介します。

図1

セレクターエディタ内の「test.txt – メモ帳」に、図2のように「title」という変数を代入し、OKボタンを押します。これで変数が代入できたと思われるので、確認のためもう一度セレクターエディターを開いてみると・・・

先ほど入れた変数が入っておらず、図1と同じ画面になっていました。変数の代入方法が違うのかと思い、代入方法を調べましたが、なかなか解決方法が見つからず苦戦しました。

図2

そこで最終的に見つけた最善策を紹介していきます。まずは、セレクターエディターを開き、代入したい部分を選択し右クリックします。

 

次に変数の代入方法を選択します。(今回は、変数を作成を選択します。)

図3

変数名を入力しEnterを押すと、無事変数を代入することができました!

 

このように変数を{{}}で囲むことで動的に変数を参照でき、また変数の規定値を設定することでセレクターの検証も可能ですので、是非こちらの方法を試してみて下さい。

図4

Excelのデータが出力されない

「あるデータをExcelに出力する処理を実装したはずが、実行してみるとExcelファイルが更新されていない」という原因調査に苦労した事例について紹介していきます。

その際なぜ出力されなかったのかというと、[Excelアプリケーションスコープ]アクティビティのプロパティ設定に問題がありました。図5の通り、書き込みしたいのに[読み取り専用]プロパティにチェックが付いていました。データに値が入っていないのかと調査していた結果、このチェックを外すだけで問題が解決すると分かった時は、かなりショックでした。

プロパティの設定には注意していきましょう。。。

図5

Excelにホットキー操作が効かない

Excelには様々なショートカットキーが存在します。その便利な機能をUiPathでも使ってみようとしたが、なぜかキーが押せなかったことはありませんか?
条件によっては対象Excelがアクティブにならず、図6のような実装ではホットキーを上手く押せない場合があるようです。

図6

そこで、図7のように[ウィンドウにアタッチ]アクティビティで開いている対象Excelファイルを指定し、その中に[ホットキーを押下]アクティビティを配置することで、ホットキー操作が可能となりました。

図7

今回は上記のように[ウィンドウにアタッチ]アクティビティを挿入することで問題は解決しましたが、画面操作は不安定になる場合があります。

そのため安定的なロボットにするには、マクロを用いた実装をおすすめします。

要素を探すアクティビティで要素がないのにエラーとなる

Excelファイルを保存する際、図8のように上書きに関するウィンドウが表示されたかどうかの判定をしたい場合を例とします。

図8

図9のようにセレクターのみ設定していると、図9のウィンドウが表示されない場合エラーとなってしまいます。

図9

対象ウィンドウが表示されない場合でもエラーを発生させないためには、プロパティパネルの共通にある「エラー発生時に実行を継続」をTrueにする必要があります。これにより、対象ウィンドウが表示されない場合、処理をスキップすることができました。

図10

「エラー発生時に実行を継続」プロパティの使用方法を間違えるとエラーがなかったことになり処理を継続してしまうので、使用方法には注意が必要です。

また、通常発生しないが表示された場合に一連の処理を行いたい場合は、[要素が出現したとき]というアクティビティを使用すると、スキップしたい一連の処理をまとめることができます。アクティビティの詳しい内容についてはこちらの記事を参考にしてください。

まとめ

1~4より、当初の私はプロパティ関係によく躓いていたことが分かりました。UiPathで開発する際は、プロパティなどの詳細設定にも気を付けていこうと思います。このブログを見て、同じように躓いた方の手助けとなれば幸いです。