仕事で色々なExcelファイルや開くのですが、今の現場ではファイルの保管場所が共有ディスク上にあり、更新したいからファイル閉じてほしいといわれることが多々あります。

間違って更新したくない場合や、ファイルをロックしたくない場合などは最初から読み取り専用で開くとこんなことは起こりません。

実はExcelファイルをShiftキーを押しながら右クリックするとメニューに「読み取り専用で開く」という項目があったりします。

ただ、これでも読み取り専用では開けません(バグがあるらしいです)。

読み取り専用で開くにはレジストリの設定が必要です。

※レジストリにはOSにかかわる重要なデータも存在するので、レジストリエディタを使用して編集を行うときは事前にバックアップをとっておくなど慎重に作業してください。
マイクロソフトのホームページでは以下のような警告をしています。

「レジストリエディタを正しく使用しないと、修正のために Windows を再インストールする必要のある、深刻なシステム規模の問題を引き起こす可能性があります。Microsoft は、レジストリエディタの使用によって発生した問題の解決は保証できません。このツールは、ユーザー自身の責任で使用してください。」

それでは設定方法を紹介します。

Excelファイルを読み取り専用で開く方法(xls形式ファイルの場合)

  1. 「ファイル名を指定して実行」を開く。
  2. 「regedit」と入力して[OK]をクリックする。
  3. 「HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\OpenAsReadOnly\ddeexec」の「(規定)」を右クリックして修正を選択する。
  4. 「文字列の編集」ウィンドウで 「値のデータ」を下記の通り編集する。
    [open("%1",,,,,,,,,,,,,,1,,1)]

    [open("%1",,1,,,,,,,,,,,,1,,1)]
  5. 「HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\OpenAsReadOnly」の値「Extended」を削除する。
    ※この設定でShiftキーをクリックしなくても右クリックメニューに「読み取り専用で開く」が表示される。

Excelファイルを読み取り専用で開く方法(xlsx形式ファイルの場合)

  1. 「ファイル名を指定して実行」を開く。
  2. 「regedit」と入力して[OK]をクリックする。
  3. 「HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\OpenAsReadOnly\ddeexec」の「(規定)」を右クリックして修正を選択する。
  4. 「文字列の編集」ウィンドウで 「値のデータ」を下記の通り編集する。
    [open("%1",,,,,,,,,,,,,,1,,1)]

    [open("%1",,1,,,,,,,,,,,,1,,1)]
  5. 「HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\OpenAsReadOnly」の値「Extended」を削除する。
    ※この設定でShiftキーをクリックしなくても右クリックメニューに「読み取り専用で開く」が表示される。

以上の設定をした上で、右クリックメニューの「読み取り専用で開く」をクリックして開くと、読み取り専用状態でExcelファイルが開きます。