読み取り専用を推奨するのチェックボックスがついた Excelファイルが読み取り専用でしか開けません。

こんにちは。
ExcelApplicationScopeを使用して読み取り専用を推奨するのチェックボックスがついたファイルを開こうとすると、ダイアログも何も出ずに読み取り専用でしか開けません。

手動で開こうとすると、読み取り専用で開きますか?のダイアログがでて書き込みで開くことができます。

ただ、絶対に読み取り専用になるわけではなく、ある時をさかいにダイアログがでて書き込みで開くことができるようになります。
この状態になると、読み取り専用で開くことはなくなります。

何をやったら書き込みで開くようになったか、わからくて困っています。
ExcelApplicationScopeを使う前になにか必要なのでしょうか?
ExcelApplicationScopeの不具合なのか、さっぱりわかりません。

どなたか、ご教授お願いいたします。
よろしくお願いいたします。

1 Like

簡単ですが、こんな感じでやってます。

数日前に同じようなトピックをあげておりましたが、解決されてないということでしょうか?

後学のために原因が知りたいのか、フロー自体の解決策が知りたいのかなど不明瞭な点が多いです。

解決策としてはifアクティビティ内でfind imageアクティビティを使って、読み取り専用ボタンを〇〇秒以内に見つけられなければifに行きクリック、そうでなければ書き込みになっていると判断しelseに。

といった分岐は可能ですが、delayによる不具合やフロー自体の不安定さが残るので推奨は出来ません。
具体的な例と共に何をしたいのかをお教えください。

ダイアログが出ればダイアログを押す処理は解決しましたが、問題のダイアログが出ない時があり困っております。
ダイアログが出ず必ず読み込み専用で開いてしまうため書き込み処理ができなくて困っています。
必ずダイアログが出る条件が知りたいです。
読み込み専用で開いてしまうため自動化できません。

よろしくお願い致します。

直接の原因とは関係ないかもしれませんが、Excel Application Scopeはそれを抜けると自動的に開いたExcelファイルは閉じられるので、Close Workbookアクティビティを外に配置する必要はありません。
特にAuto SaveがOnになっているのであれば、Excelファイルに対して行った操作は即座に保存されるので、値の読み取り・書き込み等の操作以外を明示的に行う必要はないと思います。

むしろ、外に配置することで、UiPathが何らかの誤動作(Excelファイルを中途半端に開き直して閉じる等)をしている可能性もあるので、まず、それを外して試してみてください。

1 Like

現在、orchestratorを導入するか検討中のため、日中に運用の予定なので、一回開いたら他の人が使えないように開きっぱなしにする必要があり、output変数をセットして閉じないようにしてあります。

Auto SaveはON,OFF両方試したが駄目でした。一応、output変数をセットしないでClose Workbookアクティビティを使用しない方法も試したのですが、駄目でした。

先程、ちょっと試してみたのですが、Excelが起動している状態でやってみると、ダイアログが開きました。Excelが起動してないと、やっぱりダイアログが開きませんでした。Excelが起動している状態とか関係あるのでしょうか?

一日放置してしまい申し訳ありません。
私のPCでも同じような状況でしたので調べたところ、以下のような記事が見つかりました。
プレビューウインドウが不具合を起こしている可能性があるようです。(不具合というレベルでもありませんが・・・)

上記とは別に、読み取り専用ファイルを編集するか否かのダイアログを確実に出すことが出来るようなオプションは存在します。
https://121ware.com/qasearch/1007/app/servlet/relatedqa?QID=014809

なので逆説的に「わざと読み取り専用ダイアログを出して、編集可能にする処理」を挟む方法を取ることが出来ると思います。
ですがこの方法ですと、読み取りダイアログはファイル単位で設定されるものであり、エクセルのアプリ単位では設定できませんのでご注意ください。

解決することを願っております。

エクスプローラは閉じた状態、もちろんプレビューは切った状態でも駄目でした。

表題の通り、読み取り専用を推奨するにはチェックが入っています。

今日は、エクセルが立ち上がっている状態ではダイアログがでるので、open application でエクセルを起動してから、Excel Application Scopeを使用したのですが、別ウィンドウで読み取り専用で開いてしまいました。
そうこうしていると、エクセルがたちがあっていないのに、ダイアログが出るようになって、困惑しています。

こんにちは

Start Process Activityでいったんエクセルファイルを開いて、書き込み可能にしておき、その後ExcelApplicationScopeでハンドリングする方法はいかがでしょうか?
こんなイメージになると思います。
testExcel.zip (16.9 KB)

表題の通り、読み取り専用を推奨するにはチェックが入っています。

すみません、こちら見落としておりました。
いろいろと調べてみましたが、原因がわかりませんでした。

何かが相互作用してよくない結果になっているかもしれませんね・・・
Yoichiさんのフローで試してみてください。

Yoichiさんのフローで出来そうなのですが、運用上一回読み取り推奨を外していいか、私の一存では決めれないため、読み取り推奨を外さずにできる方法があったら、そっちにしたいです。

パソコンを立ち上げた後(再起動を含む)は、必ずダイアログが出ずに読み取りで開いてしまうのですが、いろいろやっているとダイアログが出るようになります。なにがトリガーなのか、さっぱりわかりません。

サポートに問い合わせたところ、2018.3で対応するとの返事をいただきました。
不具合だったっぽいです。

ありがとうございました。