5

いつも大変お世話になっております。

既にどなたか投稿されていらっしゃったら申し訳ございません。

タイトルの問題について、調べてみました。

例えばエクセルファイル①と②をエクセル系のライブラリで立て続けに開いた場合、

①のVBの前半(↓の部分)で「自動的に閉じられる」と言いつつ、Excelのプロセスが1つ残ったままになります。

その後、エクセルが立ち上がっていない状態から①を立ち上げる分岐ルートに入ると、

↑の部分でさらにもう一つExcelのプロセスが立ち上がります。

結果的に、①の時点でExcelのプロセスが二つ立ち上がってしまい、②を開くときに①のエクセルとは別の方のプロセスを選んでしまいます。

赤枠部分をCreateObjectではなく、既にひとつプロセスが立ち上がっているので、

  Set xlsApp = GetObject(, \"Excel.Application\")

に変えればうまくいくかと思ったのですが、いかがでしょうか?

スクリプト探究者 回答した質問
回答とコメントは、会員登録(無料)で閲覧できるようになります。