UiPathのシナリオ作成でExcelシートが読み込めない時は?
Excelファイルを開き、データを読み込んで、業務システムへの登録を行う…
よくありがちなオペレーションです。
このExcelの操作をUiPathで自動化しようとしたら、Excelファイルの読み込みでエラーが発生…
以前同じ操作をシナリオ化したときはこんなエラーでなかったのに。
今回はそんな事例を対処法を交えてご紹介したいと思います。
UiPathのExcelを操作するアクティビティを使用
まずはExcelファイルのオープン、これは「Excelアプリケーションスコープ」アクティビティを使います。
UiPath>ファイル名を指定して、シートを読み込むアクティビティを配置
開きたいExcelファイルのファイル名を設定し、Excelファイルのシートを読み込むアクティビティを配置します。
2つの「範囲を読み込む」のアクティビティが登場!?
Excelシートの読み込みは「範囲を読み込む」アクティビティでした。
アクティビティパネルの検索窓に 範囲を読み込む と打ち込んで絞り込むと、「範囲を読み込む」という名前のアクティビティは2つ出てきます。
ん???2つ?
よく分からないまま、先にヒットした方、上のアクティビティをドラッグアンドドロップでシナリオに配置しました。
必要な設定を行います。
ファイル名、シート名、読み込み範囲…
ここまでで一度実行をかけてみます。
ここでUiPathのエラー発生
エラーが発生しました。
別のプロセスで使用されているため…
あれっ?Excelファイルを開きっぱなしだったかな?
しかし、Excelファイルは開かれていません。
もしかしたらと思い、タスクマネージャーまで起動してExcel.exeが動いているかどうかを確認しましたが、やはり見当たりません。
だったら動くはず、と思い、もう一度実行をかけてみますが、結果はやはり同じ、先ほどのエラーが出ます。
2つの「範囲を読み込む」のアクティビティの違いとは?
実は、「範囲を読み込む」アクティビティは2つあるのです。
先ほど絞り込み表示したアクティビティパネルをもう一度見てみましょう。
上に表示されているアクティビティのプロパティの項目をご覧ください。
次に下にあるアクティビティのプロパティです。
色々と違う個所がありますが、特に赤枠の部分に注目してください。
二つのアクティビティの英語でのオブジェクト名がそもそも異なっています。
また、入力の項目をご覧ください。
上のアクティビティにはワークブックのパスという設定項目がありますが、下のアクティビティにはありません。
UiPathにはExcelを操作する方法が2つある
UiPathにはExcelファイルを操作する2つの方法が備えられています。
一つはExcelアプリケーションを起動してExcelアプリケーションを経由してExcelファイルにアクセスする方法。この方法を利用する場合にははじめに「Excelアプリケーションスコープ」アクティビティを使ってExcelアプリケーションを起動し、Excelファイルを開かせる必要があります。
そしてもう一つ、Excelアプリケーションを起動せずに、UiPathが直接Excelアプリケーションにアクセスする方法です。この場合にはExcelアプリケーションは使いませんので、「Excelアプリケーションスコープ」は不要です。
今回、UiPathでエラーが出てしまった理由はこちら
今回のエラーは、「Excelアプリケーションスコープ」アクティビティを使用してExcelファイルを開いた後、②の方法で、UiPathに直接Excelファイルを操作させようとしたため、2重に開こうとしてしまい、エラーが発生したのです。
上記、①、②の方法はどちらを利用しても構いませんが、①の方法を利用する場合の方が多いようです。
UiPathの2つのExcel操作アクティビティの見分け方
では二つの紛らわしいアクティビティはどのように見分ければよいでしょうか。
先ほどの①の方法、つまりExcelアプリケーションを利用して操作する場合のアクティビティは「Excel」のツリーの下にあります。
また②の方法のアクティビティは「システム」のツリーの下です。
間違えずに①の方法を使うアクティビティを選択する工夫としては、アクティビティパネルの検索窓に「Excel」と打ち込んで絞り込み表示をすれば、「Excel」のツリーの下に配置されたアクティビティ、つまり①の方法を使うアクティビティに絞り込まれますので、ここから選択すれば良いでしょう。