コマンドプロンプトを使って、Excelを別インスタンスで開く方法です。
「別ウインドウ」は「別インスタンス」ではない
2013以降のExcelは、起動したブック(ファイル)ごとに別々のウインドウが開くようになっています。ひとつのブックを全画面表示しつつ、サブディスプレイで別のブックを編集したりできて便利です。
でもこれらのブックは同一インスタンスで動いています。
どういうことかというと、独立しているように見えてプログラム上では同族であるということです。
タスクマネージャーを使って「Excel」というプロセスを強制終了すると、編集中のすべてのExcelファイルが落ちます。ハングアップした場合も同様です。
昔は、1ウインドウ=1インスタンスであり、その中で複数のブックを編集するイメージだったので、不便ですがわかりやすくはありました。
重いマクロを動かしつつ、別インスタンスでファイルを編集〜なんてこともできました。
今は、マクロを起動するとExcel自体が完全沈黙してしまいますからね。
ストレスです。
新規インスタンスでの起動方法
じゃあ2013以降のExcelは別インスタンス起動できないのか?というとそんなことはなく、できます。
方法として考え付くのは、以下の3つでしょうか。
(1)Windows+Rで「ファイル名を指定して実行」を起動して、「excel /x」を指定
(2)タスクバー上のExcelアイコンを右クリックして、ALTキーを押しながらExcelを起動
(3) Excelのショートカットに「 /x」を追記する
が。今回やりたいのは
「コマンドプロンプトで、Excelファイルを別インスタンスで起動」
することです。その場合は、以下のようにします。
Excelファイルを別インスタンスで起動
こうやります。(ファイルパスは適宜読み替えてください)
"C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE" /x "C:\temp\test.xlsx" |
~EXCEL.EXEは、パソコンでExcelを起動する際の実行ファイルです。Excelアイコンのプロパティを参照するとわかるかも。
そのあとの「/x」は、新規インスタンスで起動するための記述。
その次の「test.xlsx」が、オープンしたいファイル名になります。
こうすると、Excelが新規インスタンスで起動し、さらにtest.xlsxが開かれます。
タスクマネージャで「Excel」のプロセスがふたつになっていることがわかります。
これと実行時のマクロ起動を組み合わせると、Excelをあたかもユーザフォームを備えたクライアントプログラムのように扱うことができます。VBモドキとでもいいましょうか。
この方法についても、機会があれば書いておこうかと思います。
おまけ
ショートカットのリンク先欄に「/x」と「ファイル名」を書くことでも代用可能です。
これはこれで利用時に混乱を招きそうですけど…