※この記事はモダンアクティビティを使います。クラシックアクティビティは別の記事に書いています。
RPAでは、1つのロボットで同じエクセルを何度も操作することがあります。
例えば、こんな場合、
①ロボットの処理経過を書くエクセルを作成
②エクセルに処理1の結果を追記
③エクセルに処理2の結果を追記
・・・
⑩エクセルに処理9の結果を追記
追記する度にエクセルを開いて閉じて、していると効率が悪いばかりか、エラーも発生しやすくなります。
そこでオススメなのが、最初にエクセルを開くときに「開きっぱなし」の設定にしておくことです。最初に「開きっぱなし」にしておけば、2回目も3回目も何回目でも、すでに開いているエクセルに対して操作ができるようになります。
閉じるのは最後の1回だけでいいのですが、モダンアクティビティの場合、閉じるという名前のアクティビティはないので、ちょっと工夫が必要です。
一度意識して覚えてしまえば、次からは忘れず実装できると思うので、ぜひ覚えてください。
【UiPath】Excelを「開いたまま」にしておく方法
まずは全体の流れ
まずは全体の流れから。

では詳細に見ていきましょう。
1回目、「エクセルファイルを開いたままにする」にチェック
1回目には、いつも通りファイルのパスを指定します。
そして、次が重要!
「エクセルファイルを開いたままにする」にチェックを入れてください。


クラシックアクティビティにあった「出力」のプロパティはありません。
モダンでは出力変数も不要です。
2回目からは、勝手にすでに開いているブックを使ってくれる
さて、2回目以降に進めます。
1回目と同じく「ブックパス」を指定してください。他は何も指定しなくて大丈夫です。
1回目ですでにブックが開いたままになっているので、すでに開いているブックに対して操作をしてくれるようになります。
※2回目以降に「エクセルファイルを開いたままにする」のチェックを外すにチェックをしても、エクセルは閉じてくれません。ロボットが終了したあとも開きっぱなしになります。

クラシックの時の意味は「ロボットが動いている間だけ開いておく」という意味でしたが、モダンでは「ロボットが終わってからお開いておく」つまり「ロボットが終わっても閉じない」という意味になります。
ロボットが終わる前に閉じておきたいなら
しかし、最後はエクセルを閉じてから終わりたいときもあります。
クラシックのときは、わざわざ「ブックを閉じる」を使って閉じていましたよね。

でも、モダンにはこのアクティビティがなく、「アプリケーション/ブラウザーを使用」アクティビティを使います。

プロパティを次のようにします。
・オープン動作:Never(開かないという意味。すでに開いているから不要)
・クローズ動作:Always(毎回閉じるという意味)
こうすると、エクセルを閉じてくれます。
まとめ
モダンアクティビティは慣れるまで使いにくく感じますが、慣れてくると、どーってことなくなります。
エクセル操作は必ず使うと思うので、ぜひお試しください(^^)/