俺の開発研究所

Ruby on Rails、Linux、Windowsを中心にIT技術系の備忘録とか。よく忘れるので。

*

Microsoft Excel 2013以降で複数ファイルを別インスタンスで起動する方法

   

Excel 2016を使用しているが、VBAのプログラムを埋め込んだファイルを複数起動し、同時実行していると挙動がおかしくなった。

「Application.StatusBar」でステータスバー表示を行っているところが思った通りに表示されなかったり、「Application.OnTime」で片方のファイル実行中にもう片方の実行待ちが発生したりと…。

調べてみると、Excel 2013以降は複数ファイルが同一インスタンスで起動されるようだ。
(2010以前は、別インスタンス。)

そこで、Excel 2013以降で複数ファイルを別インスタンスで起動し、VBAの実行が互いに影響しないようにする方法です。

なお、今回のバージョンは以下です。

  • Windows 10 Pro(64bit)
  • Microsoft Excel 2016(365 ProPlus)

スポンサード リンク

Excelファイルを通常の開き方で開くと同一インスタンスで起動される

エクスプローラーからExcelファイルをダブルクリックして起動したり、Excelを起動した状態からファイルを指定して開く場合などは、同一インスタンスで起動されている。

タスクマネージャーで確認してみると、以下のように1つのアプリケーション内(インスタンス)に複数ファイルが含まれていることが分かる。

Excel

別インスタンスで起動する方法

では、別インスタンスで起動するにはどうすればいいか。

まず、Excel(ファイル)を1つ起動し、タスクバーにExcelアイコンがあるので、それを右クリックする。
そして、下から3つ目の「Excel 2016」のところを「Alt」キーを押しながら左クリックで起動する。(Altキーは少しの間押しっぱなし。)

Excel

そうすると、新しく別のExcelを起動するかメッセージが出てくるので、「はい」を選択すると別インスタンスでExcel起動完了。
ここから目的のファイルを指定して開けばよい。

Excel

改めてタスクマネージャーで確認してみると、以下のようにそれぞれ別のアプリケーション(インスタンス)で起動されていることが確認できた。

Excel

以上。

参考サイト

Excel2013を別のインスタンスで起動するには?:エクセル2013基本講座

 - Microsoft Excel, VBA