Application Cardのオープン動作、クローズ動作について

こんにちは。Application Cardのオープン動作、クローズ動作について教えてください。
職場の先輩から、
ブラウザ操作の場合、オープン動作=Never、クローズ動作=Never、
既に開いているExcelを再度開こうとして例外を発生させる場合、オープン動作=Always、クローズ動作=Always、
の設定が良いと教わりましたが、理由が分かりません。
分かる方、解説をお願いいたします。

実装要件によりますので、一概には言えないと思います。

既に開いているExcelを再度開こうとして例外を発生させる場合、オープン動作=Always、クローズ動作=Always、

例外が発生するかは、対象のファイルの状況やあるいはExcelのバージョンによっても変わるかもしれません。

ですので、個人的にはこれらの方法が常に最適とは思えませんが....

職場の先輩から、

その方に意図を確認する方が良いのではないでしょうか?

職場の先輩に確認したが回答内容が今ひとつよく分からなかったためここで質問しました。それでは、オープン動作、クローズ動作のNeverなどのプロパティの意味をご教授いただけないでしょうか?ヘルプを読んでも良く分かりません。

@gorby お疲れ様です。

ケースに関してオプションの設定は変わればいいと思います。例で見てみましょう。

1.URロボットでExcel作業は一度で終わります。

条件1 - URロボットですから、ベストプラクティスは、環境をクリーンに保つことです。次のアイテムを処理する前に、すべてのアプリケーションを閉じてください。

それを考えたら、ロボットが動くときExcelは絶対に開いていないですね。

条件2 - 一度で作業終わります(例えば読み込んだデータテーブルをExcelに書き込みます)
から一回Excelを開けば、作業終わったらExcelを閉じたいです。

そういう時ただしプロパティの設定は:
オープン動作=Always、クローズ動作=Always
開く->書き込む->閉じるですね。

2.URロボットで作業は一度で終われないです。ブラウザを一度開いてから、ファイルをダウンロードし、ファイルで作業してから、ブラウザでさらに検索する必要があります。

条件1 - URロボットですから、ベストプラクティスは、環境をクリーンに保つことです。次のアイテムを処理する前に、すべてのアプリケーションを閉じてください。

それ考えたらブラウザは絶対に閉じてますから立ち上げないといけません状況になりますでしょう。
それで オープン動作=Never 使えばエラーがでます。

条件2 - ブラウザーでのタスクは 2 つの部分に分かれており、その間にファイルで作業する必要があるため、ブラウザーを開いたままにしておきます (ユースケースによって異なる場合があります)。

それ考えれば、一回作業したら、ブラウザは閉じないようにしたいですから一つ目の「ブランチを開く」アクテビティでクローズ動作=Neverを使いたいですね。後継ぎのアクティビティで同じブラウザ使いたいですからオープン動作=Neverが必要です(もう一回絶対にたちあげたくないです。)

そういう時ワークフローはそういう形になります。

一つ目のブランチアクテビティのオプションは

オープン動作=Always、クローズ動作=Never
UI要素が欲しいですからOutはUI要素になります。
image

二つ目のブラウザアクテビティのオプションは
オープン動作=Never、クローズ動作=Always
UI要素がInに使いたいです(どっちのブラウザが使おうとする教えないといけません)
image

ーーーーーーーーーーーーーーー
もっと色んな例が作れますが、一つの正しい設定し方はないです。全部は現在のプロセスの条件によります。

こんにちは

基本的は以下の動作を把握して、状況に応じて使い分けます。

オープン動作

Never : プロセスを新たに立ち上げず、既存のプロセス(のウインドウ)にアタッチします。
もし対象のプロセスが存在しない場合は、例外になります。

Always : 常に新しいプロセスを立ち上げます

IfNotOpen : 既存のプロセスがあれば、それにアタッチし、なければ新規にプロセスを立ち上げます。

クローズ動作

Never : コンテナを抜けても、プロセスを終了させません

Always : コンテナを抜けた時に、当該プロセスを終了させます。

IfOpenedByAppBrowser : 現在アタッチしているプロセスが、自身が起動したものであれば終了します。

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.