このエントリーをはてなブックマークに追加

Excel 2019で2つ目以降のファイルを開くのが遅い

更新:

先日Windows PCにMicrosoft Office 2019をインストールしたのだが、1点不思議な現象に遭遇した。

エクスプローラー(ファイラー)上でExcelファイルをダブルクリックして起動し、そのファイルを開いたままの状態で別のExcelファイルを同じくエクスプローラー上から開こうとすると2~3秒程度時間が掛かる。

要するに1つ目のファイルの起動は速く、一瞬で開く。 1つ目を開いたままの状態で、2つ目、3つ目のファイルを開くのが若干遅い。

いろいろ検索して情報を探してみたが、私と近い現象は日本語では Excel2003 二つ目以降のファイルを開くのが遅い しか見つからなかった。 これは2003の話で、使い方も私と異なる。 ただ、ここで得た有益な情報は、既に開いているExcelのウィンドウに別のExcelファイルをドロップするとすぐに開けるということ。 実際に試したところ2019でも有効だった。

日本語では情報が見つからないので、英語で「excel slow to open second file」と検索したところ、 Excel slow to open second (or subsequent) file from Windows Explorer という、まさに同じ症状がすぐに上位に表示された。 2020年1月の投稿なので比較的新しい。 ただ、結局のところ「仕様」ということで、問題の解決には至っていない。 Excel Opens Secondary Spreadsheets Very Slowly (the first opens quickly) などのページも同様。

海外のページにも書かれているが、まとめると以下の通り。

  • PCのスペックは問題ない。ちなみにうちのPCは2021年に作ったばかりで、Core i5-11400F、メモリ16GB、NVMe SSD使用の自作機。
  • ファイルの情報量やマクロの有無も関係ない。
  • Wordなど別のOfficeアプリは2つ目以降のファイルもすぐに開く。
  • Excelのオプションを変更しても効果なし。
  • 他のアプリケーションの影響などはない。
  • Officeの修復も効果ない。
  • セキュリティ関係(ウイルスチェック)なども影響がなさそう。

とりあえず分かったのは、

  • 既に開いているExcelファイルのウィンドウに別のExcelファイルをドロップするとすぐに開ける。
  • エクスプローラーではなく、Excelのメニューからファイルを開くとすぐに開ける。

ということ。

私のような使い方をしている人が少ないとは思えないが、情報が少ない。 私の環境の問題なのか? そもそも環境の問題なら、1つ目のファイルを開くのにも時間がかかるはずである。

ふとタスクマネージャーの「詳細」タブを表示した状態でExcelを起動してみると妙な挙動に気づいた。 1つ目のファイルを開くと、まず1つ目のインスタンス(プロセス)が立ち上がる。 2つ目のファイルを開くと、いったん別のインスタンスが立ち上がり(一時的に2つのインスタンスが存在する)、2~3秒経った後、インスタンスが1つに統合される。 Wordでも試したが、そのような挙動はなく、同一インスタンスのままだった。

では、上述のファイルドロップやExcelのメニューからファイルを開く方法だとどうなるのかというと、いったん別のインスタンスが立ち上がることがない。 したがって速く開ける。 つまり、このインスタンスの挙動が2~3秒待ちの原因。

この現象が発生しない人は、いったん別インスタンスが立ち上がることがないのかもしれない。 そういう意味では、やはり何かしら環境が影響しているのだろうか。 それとも2019は最新のスペックでも本当に重くて、これが普通なのか。 実際他のアプリケーションと比べると使っている最中ももっさり感が多少ある。

そして、この現象を検索している際に見かけたのが、Excelを別インスタンスで起動するという話。 ただ、どのサイトも2つ目以降のファイルを開くのが遅い件については触れていない。 が、この方法が本現象の対処にも役に立つ。

まず、スタートメニューやショートカットアイコンによる通常のExcelの起動の場合。

  1. スタートメニューのExcelアイコンを右クリックし、「その他」→「ファイルの場所を開く」を選択して、エクスプローラーを起動する。
  2. そこにあるExcelのショートカットアイコンを右クリックし、「プロパティ」を選択。
  3. 「ショートカット」タブにある「リンク先」に以下のように書かれている。
"C:¥Program Files¥Microsoft Office¥root¥Office16¥EXCEL.EXE"

以下のように半角スペースの後「/x」を追加する。

"C:¥Program Files¥Microsoft Office¥root¥Office16¥EXCEL.EXE" /x

Excelのプロパティ

デスクトップにショートカットアイコンがある場合は、それも同様に確認しておく。

「Office16」は2019の場合であり、Officeのバージョンによって異なる。

次にエクスプローラー上でExcelファイルをダブルクリックするなどして起動する場合。

  1. スタートメニューを右クリックして「ファイル名を指定して実行」を選択し、名前に「regedit」と入力してレジストリエディターを起動する。
  2. 「コンピューター¥HKEY_CLASSES_ROOT¥Excel.Sheet.12¥shell¥Open¥command」にある「既定」と書かれたアイコンをダブルクリックなどで開く。
  3. 「値のデータ」に以下のように書かれている。
"C:¥Program Files¥Microsoft Office¥Root¥Office16¥EXCEL.EXE" "%1"

以下のように半角スペースの後「/x」を追加する。 「"%1"」の前に記述しても良い。

"C:¥Program Files¥Microsoft Office¥Root¥Office16¥EXCEL.EXE" "%1" /x

各ファイルの拡張子とアドレスは以下のようになっており、必要なものを同様に編集する。

.xlsx
コンピューター¥HKEY_CLASSES_ROOT¥Excel.Sheet.12¥shell¥Open¥command
.xls
コンピューター¥HKEY_CLASSES_ROOT¥Excel.Sheet.8¥shell¥Open¥command
.xlsm
コンピューター¥HKEY_CLASSES_ROOT¥Excel.SheetMacroEnabled.12¥shell¥Open¥command
.csv
コンピューター¥HKEY_CLASSES_ROOT¥Excel.CSV¥shell¥Open¥command

Excelのレジストリ

Altキーを押しながらExcelを起動したり、「ファイル名を指定して実行」で「excel /x」で起動する方法もあるが、少し面倒。 上記ならいつも通りダブルクリックするだけ。 私の使い方では特に問題ないが、別インスタンスだと不都合がある人には最善策ではないかもしれない。 またメモリの使用量も多くなるので、メモリが少ないPCだと逆に動作が重くなる。

レジストリ変更後、Officeの修復を行うと「/x」を加えた箇所は元に戻るので注意。 逆に元に戻したい場合は修復すると良い。


このエントリーをはてなブックマークに追加