Excelを常に別プロセスで起動する

いや、マジでなんとかしろ、この似非SDIが……と暴言から始まります。
Excelさんが2013以降から「見た目はSDI、中身はMDI」とどこぞの名探偵みたいになってめっちゃ困るって話。
一応、タスクバーから別プロセスで起動することもできます(右クリック→Altキーを長押ししながら起動)。
が、エクスプローラー上からダブルクリック起動でも別プロセスで起動せんかい!
でないと、複数のExcelファイルを起動していると、1ファイルでも強制終了すると起動中の全てのExcelが強制終了することになるよ★
ついさっき、それで私の10分の超面倒な作業が消えたよ★
回復ファイルもむっちゃ大事や…。

というわけで、csv、xls、xlsx、xlsmの4ファイル全て別プロセスで起動するようにレジストリをいじりました。
レジストリをいじるのでバックアップ推奨&自己責任で!
末尾に注意事項もあります。

Windows10 64bit × Excel2016または2019 64bitの場合

下記コピペして、適当な名前(*.reg)つけて保存したら、ダブルクリックすればよろし。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Excel.CSV\shell]
@="Other"
[HKEY_CLASSES_ROOT\Excel.CSV\shell\Other]
@="別インスタンスで開く"
[HKEY_CLASSES_ROOT\Excel.CSV\shell\Other\command]
@="\"C:\\Program Files\\Microsoft Office\\Office16\\EXCEL.EXE\" \"%1\" /x"

[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell]
@="Other"
[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Other]
@="別インスタンスで開く"
[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Other\command]
@="\"C:\\Program Files\\Microsoft Office\\Office16\\EXCEL.EXE\" \"%1\" /x"

[HKEY_CLASSES_ROOT\Excel.SheetMacroEnabled.12\shell]
@="Other"
[HKEY_CLASSES_ROOT\Excel.SheetMacroEnabled.12\shell\Other]
@="別インスタンスで開く"
[HKEY_CLASSES_ROOT\Excel.SheetMacroEnabled.12\shell\Other\command]
@="\"C:\\Program Files\\Microsoft Office\\Office16\\EXCEL.EXE\" \"%1\" /x"

[HKEY_CLASSES_ROOT\Excel.Sheet.8\shell]
@="Other"
[HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Other]
@="別インスタンスで開く"
[HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Other\command]
@="\"C:\\Program Files\\Microsoft Office\\Office16\\EXCEL.EXE\" \"%1\" /x"

OSが64bit&Excelが32bitの場合

EXCEL.EXEパスの”Program Files“を”Program Files(x86)“に置き換えてください。

Excel 2016・2019以外の場合

EXCEL.EXEパスのMicrosoft Office以降をバージョンに応じて置き換えてください。
たぶんWindows11になったからといって変わらないと思う。
とはいえ、下記の場所にEXCEL.EXEがあることを確認しておくことをオススメします。

バージョンC:\\Program Files\\Microsoft Office\\…
Excel2010Office14\\EXCEL.EXE\
Excel2013Office15\\EXCEL.EXE\
Excel2016Office16\\EXCEL.EXE\
Excel2019Office16\\EXCEL.EXE\
Excel2021root\\Office16\\EXCEL.EXE\
Microsoft 365root\\Office16\\EXCEL.EXE\

Excel2010以前の場合

たぶん最後の”/x“が必要なのはExcel2013以降環境だけなので、2010以前の場合は削除してください。

てか、2020/10/13にExcel2010のサポートも切れるから、使うのをやめよう。そうしよう。

そもそもExcelのバージョンやbit数がわからない方

Excel右上の[ファイル]タブ→[アカウント]→[Excelのバージョン情報]の順にクリックしましょう。

[ファイル]タブがない?そんな古いExcelは危ないので使うのをやめよう。そうしよう。

もとに戻す

shellを既定に戻せばいい。

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Excel.CSV\shell]
@="Open"
[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell]
@="Open"
[HKEY_CLASSES_ROOT\Excel.SheetMacroEnabled.12\shell]
@="Open"
[HKEY_CLASSES_ROOT\Excel.Sheet.8\shell]
@="Open"

Windows Updateで強制的にもとに戻されてしまうことがある

割とOffice系の大きな更新が入るともとに戻っちゃうので、定期的にやり直す必要があるかも。
Updateは水曜日が多いので、まめにUpdateする人はタスクスケジューラで週1自動実行するようにでもしてればいいんじゃないでしょうか。


他にもニッチなIT関連要素をまとめていますので、よければ一覧記事もご覧ください。

2件のコメント

  1. batでOffice 2013で別プロセスで起動できるようにはなったのですが、
    コピペして作成した元に戻すbatを実行しても別プロセスで起動したままです。
    他に元に戻す方法はありますでしょうか?^^;

    1. > やまさん
      記事内容はOpenにすることを「元に戻す」と記載していますが、そもそも元のレジストリ状態は人それぞれですので、正確な「元に戻す方法」はバックアップを適用することです。
      ひとまず、11/10に月例WindowsUpdateがあるので、適用して元に戻るか確認いただく、戻らなければバックアップをとった上でregedit上で直接編集してみてはいかがでしょうか?
      レジストリをいじる際にはバックアップを取ることを強くオススメいたします。

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)