[エクセル中級] ファイルを開くとき(常に)新しいウィンドウで開く
2018/04/07
Excel 2007, Excel 2010 で、複数のファイルを同時に開いた場合、通常は一つのウィンドウの中で複数のファイルが開かれてしまい、場所を移動して見比べたりするときにやや操作しづらいです。
Excel 2013では常に別ウィンドウで開くようになってこの不便は解消されましたが、Excel 2007, 2010でも普通にファイルをダブルクリックするだけで同様に使えるように設定します。
目次
新しいウィンドウで開く
Excel 2007 / Excel 2010 の通常の開き方
Excel 2007, 2010での通常の開き方は、一つのウィンドウ内に二つのファイルが開かれる形式です。メニューが単一ですっきりしていますが、他のソフトに比べるとやや 操作性が劣ります。さらに、マルチディスプレイの場合には、それぞれの画面にうまく表示することができません。
これを、Word, PowerPointなどと同じように、ファイルごとに別々のウィンドウに開かれるように設定します。
注意点
「新しいウィンドウを開く」を使って2つのファイルを別々のExcelウィンドウに表示するようにすることで、使えなくなる機能があります。
- 数式の入ったセルのコピー
- 数式の入ったセルをコピーして、別ウィンドウのセルに貼り付けても数式はコピーされません。数式の計算結果が数値として貼り付けられます。
- シートのコピー/移動
- シートを丸ごと別のシートにコピー/移動する機能は、同じウィンドウの中に2つのファイルを開いている場合はファイル間でもコピー/移動ができますが、別のウィンドウにはコピー/移動ができません。
これらの機能を使いたい場合は、2つめのファイルを「開く」で開いて、一つのウィンドウに両方のファイルが開かれるようにしてください。
直接レジストリに設定する方法
レジストリ設定はWindowsが起動しなくなるなどの危険を伴います。慎重に操作してください。
Win+Rを押し、regeditと入力してEnter。
コンピューターHKEY_CLASSES_ROOT\Excel.Sheet.12\shellとたどります。
新しいウィンドウで開くコマンドの作成
shellで[右クリック] → [新規] → [キー]
OpenInNewWindowと入力してEnter。
OpenInNewWindowの「(規定)」をダブルクリック。
「新しいウィンドウで開く(&W)」と入力。
「(規定)」の値が「新しいウィンドウで開く(&W)」になったことを確認し、shellOpenInNewWindowを [右クリック] → [新規] → [キー] をクリック。
OpenInNewWindowの下にcommandを作成。
コマンドの内容を設定
shellOpencommandを開き、「(規定)」をダブルクリック。
内容をコピー。このウィンドウはキャンセルで閉じる。
shellOpenInNewWindowcommandを開き、「(規定)」をダブルクリック。
コピーしたデータを貼り付け、/eを"%1"に書き換える。"%1"の直前には半角スペースが必要。
「(規定)」の内容が書き換わったことを確認。
ここまでの設定で、拡張子が「.xlsx」のファイルを右クリックしたときのメニューに「新しいウィンドウで開く」という項目が作られました。
規定の設定を変える
ここまでで、右クリックメニューに項目が作られましたが、普通にファイルをダブルクリックしたときは「開く」のままなので新しいウィンドウで開いてはくれません。そこで、ダブルクリックしたときも新しいウィンドウで開くように設定します。
shellを開き、「(規定)」をダブルクリック。
OpenをOpenInNewWindowに変更します。
OKで閉じ、「(規定)」が「OpenInNewWindow」になっていることを確認します。
これでダブルクリックしたときも新しいウィンドウで開かれるように設定できました。お疲れさまでした!
AutoHotkeyで設定する方法
#SingleInstance Force ; 複数起動の禁止 ; .xls : Excel.Sheet.8 ; .xlsx : Excel.Sheet.12 aDir := ["Excel.Sheet.12","Excel.Sheet.8"] Loop, % aDir.MaxIndex() { dir := aDir[A_Index] ; 「別のウィンドウで開く」という項目を作る RegWrite, REG_SZ, HKCR, %dir%shellOpenInNewWindow, , 別のウィンドウで開く(&W) if(ErrorLevel==1) { ; 管理者権限で実行しないと RegWrite がエラーになる MsgBox, 0x30, Excel, 管理者権限で実行してください。 ExitApp } ; 通常の「開く」のコマンドを取得 ; Excel 2010 の通常設定は、 ; "C:Program Files (x86)Microsoft OfficeOffice14EXCEL.EXE" /dde RegRead, openCommand, HKCR, %dir%shellOpencommand, ; .EXE までを分離して reg1 に入れる RegExMatch(openCommand, "^("".*?"")", reg) ; 「別のウィンドウで開く」コマンドの内容を設定 RegWrite, REG_SZ, HKCR, %dir%shellOpenInNewWindowcommand, , %reg1% `"`%1`" ; ファイルの開き方のデフォルトを設定 ; ダブルクリックで「別のウィンドウで開く」になる RegWrite, REG_SZ, HKCR, %dir%shell, , OpenInNewWindow } MsgBox, 0x40, Excel, 正常に完了しました。 ExitApp