気まぐれな備忘録(仮)

いちようSEしてるので、プログラミングの備忘録的なものを書いてます

Windows7でExcelをファイルごとに異なるウィンドウに表示する

Excelって昔からMDI形式が標準になっており、
複数のExcelファイルを開くと、
普通はひとつのExcelのウィンドウに複数のファイルが開かれる。

画面サイズが小さいノートPCだったらこれで別に困らないが、
デスクトップ、特にデュアルディスプレイだと、扱いづらい。

Excelをスタートメニューから起動することで
複数ウィンドウを立ち上げることができるので、
これにそれぞれドラッグ&ドロップすることで
複数のExcelファイルを複数ウィンドウで操作できる。

…というのを毎回操作するのは手間がかかるので、
XPを使っていた頃は、メニューからGUI操作で右クリックメニューを自由に追加できたので、
右クリックメニューにExcelのexeのリンクを追加して、
そこから複数のウィンドウを立ち上げていた。


が、Windows7になってから、XPにはあった上記のメニューがなくなった。
要はレジストリいじるしか、右クリックメニューをカスタマイズできなくなった。


ということで、Excelファイルの右クリックメニューから、
Excelファイル単位で異なるウィンドウで起動する項目を追加してみた。


詳細はここから。

まずは、元々のExcelの右クリックメニュー

レジストリエディタ(「ファイル名を指定して実行」でregeditを入力すると起動する)から、

HKEY_CLASSES_ROOT\Excel.Sheet.12.\shell

に新規にキーを作成する。

なお、ここのキーの名前は自由に指定できる。

このキーの値を修正する。

ここで指定する値が、右クリックメニューに表示されるものである。

設定した結果は以下の通り。

引き続き、上記で作成したキーの配下に新しくキーを作成する。

ただし、ここのキーの名前は「command」を指定しなければならない。

また、このcommandキーに対応する値は以下の形式を指定する。

"Excelのexeのファイルパス" "%1"

結果がこちら。

右クリックメニューはこんなカンジになる。

そして、こちらが複数ウィンドウでExcelを表示してみたやつ。


ちなみに、このままだと、Excel2010形式のみ有効となり、
Excel2003だと右クリックメニューが反映されないので、別途設定が必要となる。

それがこちら。

親が「Excel.Sheet.12」なのが2010形式であり、「Excel.Sheet.8」が2003形式だと思われる。


おまけ

上記の設定の逆のことをすれば、
右クリックメニューで表示される「印刷」や「読み取り専用で開く」を消すことができる。
これらの項目をこれまで一度も使用したことがないのだが、有用性がわからん。。。