設定した[読み取り専用で開く]が消えるで右クリックメニューから[読み取り専用で開く]が消える理由を説明しましたが、消えるたびにレジストリを変更するのは面倒です。

そこで、レジストリ変更をすばやく実施する方法を紹介します。

「reg」という拡張子で保存しておけばいちいちレジストリエディタをひらかなくてもファイルをダブルクリックすることで修正内容を反映させることができます。

以下の内容を「[任意のファイル名].reg」で保存しておけば手軽に反映できます。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Word.Document.8\shell\OpenAsReadOnly]
@="読み取り専用で開く"
"Extended"=-

[HKEY_CLASSES_ROOT\Word.Document.8\shell\OpenAsReadOnly\ddeexec]
@="[AppShow][REM _DDE_ReadWriteOnSave][FileOpen .Name=\"%1\",.Revert=0,.ReadOnly=1]"

[HKEY_CLASSES_ROOT\Word.Document.12\shell\OpenAsReadOnly]
@="読み取り専用で開く"
"Extended"=-

[HKEY_CLASSES_ROOT\Word.Document.12\shell\OpenAsReadOnly\ddeexec]
@="[AppShow][REM _DDE_ReadWriteOnSave][FileOpen .Name=\"%1\",.Revert=0,.ReadOnly=1]"

[HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\OpenAsReadOnly]
@="読み取り専用で開く"
"Extended"=-

[HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\OpenAsReadOnly\ddeexec]
@="[open(\"%1\",,1,,,,,,,,,,,,1,,1)]"

[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\OpenAsReadOnly]
@="読み取り専用で開く"
"Extended"=-

[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\OpenAsReadOnly\ddeexec]
@="[open(\"%1\",,1,,,,,,,,,,,,1,,1)]"

ただし、これもレジストリを操作することにはかわりないので自己責任でお願いします。

自PCで実行し、問題ないことは確認済です。