6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【UiPath】Excelアプリケーションスコープで開いたファイルを開いたままにする

Last updated at Posted at 2019-06-02

前提条件:
UiPath Studio Community Edition 2019.5.0
UiPath.Excel.Activities v2.6.0

Excelアプリケーションスコープのプロパティ値による方法

Excelアプリケーションスコープのプロパティ「Output > Workbook」に変数を指定する。
こうすると、ロボットが実行されている間はファイルが閉じない。ロボットの実行が終わるとExcelファイルが閉じる。

excel01.png

自動保存するかどうかは開いたときに決まる

たとえば、以下のように、1つ目のExcelアプリケーションスコープで開いたExcelファイルを、2つめのExcelアプリケーションスコープで書き込みを行い、保存させたいとする。
excel03.png

この場合、2つ目のExcelアプリケーションスコープで書き込んだ値が保存されるかどうかは、1つ目のExcelアプリケーションスコープのプロパティによる。1つ目のところで「自動保存」にチェックを入れていれば、2つ目の「自動保存」がオフでも、書き込みの後で内容が保存されている。
逆に、1つ目の「自動保存」がオフの場合、2つ目でオンにしても自動保存されない。

「プロセスを開始」でExcelファイルを開く方法

アプリケーションなどの起動に使う「プロセスを開始」アクティビティで、直接Excelファイルのパスを指定すればファイルを開くことができる。この方法の場合、ロボットが完了してもExcelファイルは閉じない。
excel04.PNG

後続のExcelアプリケーションスコープのやり方

「プロセスを開始」でExcelファイルを開く場合、そのファイルをExcelアプリケーションスコープで扱うには注意点がある。
人が操作するときと同じようにExcelが起動するため、スプラッシュ画面が出たりして、即座にExcelアプリケーションスコープでファイルを捕まえられなかったりする。
excel05.PNG
上記のように、Excelファイルを開いた直後にExcelアプリケーションスコープを実行すると、Excelが起動しきる前にExcelアプリケーションスコープへ処理が移ってしまう。実行中によく見てるとExcelファイルが二重で開かれていて、意図した動作にならない。

それを解消するためには、「プロセスを開始」の後に「要素を検出」などを挿入すればよいとされている。

↓どうにかしてExcelファイルの起動を待とうとしているサンプル
excel06.png

しかし実際は「要素を検出」や「待機」を挟んでも、Excelアプリケーションスコープで開いているファイルを認識できず、二重起動することが多い。
もしロボット起動後もExcelファイルを開いたまま残したい場合は、一度Excelアプリケーションスコープで編集したファイルを閉じ、フローの最後に「プロセスを開始」でExcelファイルを開くだけにした方が良さそう。

↓Excelアプリケーションスコープで編集してから、Excelファイルを開くサンプル
excel07.png

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?