Start processのあと同名ファイルをExcel application scopeで開くと読み取り専用になってしまう

studio
#1

Excel application scopeにてエクセルを開いたままにするため、


こちらの回答を参考に作成したのですが、

  1. Start processでエクセルを開く
  2. 呼び出した別のワークフロー内でExcel application scopeを開始
  3. 読み取り専用、かつ別のウィンドウでエクセルファイルが開かれ、そちらを編集してしまう
    さらにExcel application scopeの終了時、読み取り専用のウィンドウが閉じられる

Excel application scopeでは、読み取り専用のチェックは外しています。
また、ファイル名やパスにも誤りはありません。

奇妙なところは、実行するときによって1.で開いたファイルをそのまま編集してくれる場合と、
3. のように別ウィンドウで読み取り専用として開かれる場合があることです。

試しに同じワークフロー内、1.の直後に2.を配置したところ、うまくいくことは確認できています。
何か良い解決方法はないでしょうか。

#2

こんにちは

EXECLを閉じずに開いたままにするためには、特別な理由がない限りStart Processを使って事前に開く必要はありません。
Excel Application ScopeのOutput-Workbookプロパティに出力用の変数をセットすれば閉じずにScopeを抜けます。
閉じたいときはCloseWorkbookで明示的に指定してください。

#3

@yasushi さん

Excel application scopeは
オープンしてる該当エクセルファイルウィンドウの有無より、
新しいエクセルアプリケーションを起動するかどうかを判断します。
ので、Start processとExcel application scopeの間に、
Start processが実施完了するまでに待つDeplay或いはElement Existsなどの
チェックアクティビティを追加する必要です。

仰った現象は
Start processとExcel application scopeを
同じワークフローに入るかどうか、関係がないと思います。

#4

Yoichiさん、ご回答ありがとうございます。

変数をセットするだけで良かったのですね、おかげさまで解決しました!
ありがとうございました!

#5

wusiyangjiaさん、ご回答ありがとうございます。

私の見当違いだったのですね、ご指摘ありがとうございます!
勉強になりました!