1.概要
最近ファイルサーバ上にあるExcelを開くのに時間がかかるようになった。
サーバ OS が Windows Server 2022 Standard になったのと、Windows Update のタイミングでこのような現象が出ている。
特に2024年のどこかのタイミングで行った Windows Update から現象が出やすくなった気もする。
2.原因
複数の原因が考えられるのだが、「保護ビュー」がいちいち出てくるのが面倒で時間がかかるというのであれば、「ファイル」-「オプション」-「セキュリティセンター」-「セキュリティセンターの設定」-「保護ビュー」でチェックを外せばいい。ただしセキュリティは弱くなるので注意が必要だ。
エクセルファイルが壊れてデータが肥大化することにより現象が出ることもある。
これについては貼られている画像の問題であったり、修復ができなかったりすることが原因のこともあり、これは別途最後にリンクを貼っておく。
そうではなくて、プログラムの動作が遅いかフリーズあるいはハングアップすることによりExcelを開くのが遅いあるいは時間が掛かるようになったという場合である。
原因は Office のプログラムがファイルを開く間にネットワーク上の場所への接続が失われた場合に発生することがあるが、ファイルを開く際に、開くファイルの名前とパス情報を Windows の最近使ったファイルの一覧に追加するが、その際にパスが存在しないためプログラムの動作が遅くハングアップしたようになるようだ。会社でもパソコンが密集しているようなところでこの現象が起きている気がする。
3.対応
この現象を回避するには、Windowsの レジストリに EnableShellDataCaching 値を追加する必要がある。
レジストリを間違えて編集すると深刻な問題が発生することがあり、場合によってはパソコンが起動しなくなってしまう恐れがあるので、パソコンに詳しくない人はやらない方がよい。
また必ずレジストリはバックアップを取って元に戻せるようにする必要がある。
レジストリの変更のやり方はまずOfficeを終了してから、
「スタート」ボタンで右クリック「ファイル名を指定して実行」を選択します。
「regedit」と入力して「OK」をクリック。
「このアプリがデバイスに変更を加えることを許可しますか?」と表示されますので、「はい」をクリック。
レジストリエディタが表示されました。
Officeのバージョンに応じて下のレジストリーを見つけて選択します。
今回は Office2019 を使っていましたので、下の場所になります。
Common の下に Open Find が無かったので「新規」-「キー」を選択。
新しいキー#1 が出来ましたので
「Open Find」に名前を変えます。
右の欄に「新規」-「DWORD(32ビット)値」をクリック。
出来た新しい値を
「EnableShellDataCaching」にします。
右クリックし「修正」
「値のデータ」ボックスに「1」を入力して「OK」
「ファイル」-「レジストリエディタの終了」をクリックして終了します。
この後、問題が解決したか確認します。
今回テストで使ったデータは実際確認したところフリーズはしませんでしたが、問題となったデータが29MBもあり、開くのに22秒もかかりました。中身を見たところデータが壊れて肥大しているのではないかと思われます。また多くの画像が貼りつけられていましたので、その当たりも別の不具合の気がします。
これについては別途下に解決方法のリンクを貼っておきます。