Excelが読み取り専用で開いてしまう

いつもお世話になっております。

Excelの操作に関してご質問があります。

ExcelApplicationScopeを使用してExcelファイルを開いた際に、読み取り専用で開いてしまって困っています。
(ExcelApplicationScopeのプロパティ:読み取り専用 のチェックは外してあります。)

操作対象のExcelファイルは、開こうとした際にポップアップにて「読み取り専用で開きますか?」と表示されて、「はい(Y)、いいえ(N)、キャンセル」ボタンのいずれかを押下するとファイルが表示されるのですが、ExcelApplicationScopeで操作対象のExcelファイルを開くと勝手に読み取り専用で開いてしまいます。
ExcelApplicationScopeの後に「いいえ(N)」ボタンを押下する処理を組み込んでいますが、それは無視されて(?)読み取り専用で開いてしまうようです。

操作対象のExcelファイルを開いた後、セルに値を書き込んで保存、という流れで処理したいのですが、現状だとExcelのファイル名が変更されてファイルが保存されます。(新規でExcelファイルが作られてしまう)

この状況を解決する手段をご存知の方がいらっしゃいましたら、ご教示いただけたらと思います。

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

  1. excelファイル自体が読み取り専用になっていませんか?(excelファイルのプロパティで読み取り専用にチェックがついている)
  2. 手作業だと書き込みや保存は可能でしょうか?
  3. excelファイルはネットワーク上にありますか?ネットワーク上の場合ローカルにコピーして実行しても同様の結果でしょうか?

こんにちは

仕様なのかバグなのかはわかりませんが、Excel Application Scope(あるいはUse Excel Fileでも)現状そのような動作になる模様です。

ワークアラウンドとしては例えば、
・System-File-Workbook以下のWrite Range/WriteCellを利用する。
・Start Processなどを用いて、書き込み可能な状態で開く→必要に応じて本設定の解除後
Excel Application Scopeで開く
等があるのではないかと思います。

Yoichi様

お忙しいところご教授ありがとうございます。
仕様(あるいはバグ)ということで、読み取り専用で開いてしまうのは仕方がないということで了解いたしました。

Yoichi様

こんにちは。

だいぶ以前の記事に対する質問ですみません。
①「System-File-Workbook以下のWrite Range/WriteCellを利用する」、②「Start Processなどを用いて、書き込み可能な状態で開く」の2つの意味を正しく理解できませんでした。具体的にどのようなことをすればよいか、もう少し詳しく教えていただけると助かります。

(UiPathのワークフロー側と情報連携=Read/Write するための、ExcelのSettingファイルを使用しているのですが、プロセスの途中で 読み取り専用になってしまって実行が停止する事件が頻発するようになりました・・)

こんにちは

(UiPathのワークフロー側と情報連携=Read/Write するための、ExcelのSettingファイルを使用しているのですが、プロセスの途中で 読み取り専用になってしまって実行が停止する事件が頻発するようになりました・・)

上記は「読み取り専用で開くを推奨」にチェックが入っているワークブックを開くときの対応ですので、これに該当しない場合は別のアプローチが必要になると思います。

Yoichi様

さっそくのご回答ありがとうございます。

分かりが悪くてすみません。
確かに「読み取り専用で開くを推奨」にチェックが入っている場合ではありません。

しかし、私の読み取る限り Beginner7533 がおっしゃっていた現象と私の問題はほぼ同じなのです。
(私の補足の文章ががまずかったのだと思います)

この場はもともと Beginner7533 のご質問も場所なので、荒らしては申し訳ありません。
いったん失礼します。ありがとうございました。

**

もしよろしければ、詳細情報含めて新たにトピックを立てていただければと思います。

この現象と同じだと思うのですが、今回、私も以前作成したロボットを改修したところ、Excelの書き込みができなくなり、調べたところ、Excelが読み取り専用で開かれている事がわかりました。以下、状況を羅列します。
・改修場所は、Excel書込み以外の場所で、デグレードではないと思われます。
・Excelアプリケーションスコープのプロパティ「読み取り専用」のチェックボックスにチェックは入っていません。
・ロボット実行すると、最初の「セルへ書込み」でエラーとなり、エラーの後に「xxxx(1).xlsx」が出来ます。
・対応OSは、Windows-レガシです。
・2週間ほど前、UiPathのバージョンアップを行いました。

最終結果が記述されていないようなので、新たに投稿させていただきました。解決策ございましたらご教示頂ければ幸いです。よろしくお願い致します。