ある時点で次のことを実行する Excel Interop COM アドインがあります。
CurrentWorkbook.Close();
//other code
ExcelApplication.Workbooks.Open("B.xls");
1 つのワークブック A.xls を開いているとします。Excel 2010 までは、コードを実行すると、これは期待どおりに機能しました。A を閉じてから、B.xls を開きます。Excel 2013 以降、各ブックは独自の Excel インスタンスで開かれることを読みました。それでも、Excel 2013 でも、これは上記の期待どおりに動作しました。余分なウィンドウは開かれません。
ただし、Excel 2016 には、A.xls を閉じると空のブック シェルが残るといういくつかの変更があります。その後、B.xls を別ウィンドウで開きます。最終的に、空のウィンドウが 1 つと、B.xls を含むウィンドウが 1 つあります。
2 つのウィンドウは独立していないようです。B.xls を閉じても別の空の Excel ウィンドウは作成されません。空のウィンドウを閉じるをクリックすると、実際には B.xls が閉じます。
A が閉じているときに空のウィンドウを防ぐ方法、またはその空のウィンドウ (A が残した) で B.xls を 2 番目のウィンドウではなくコンテナーとして開く方法についてのアイデアはありますか?