金曜の帰りしな、部下が浮かない顔をしているので訊いてみると Excel のプロセスが残ってしまって困っているらしい。
C# か VB.net の話かと思ったら VBA だっつうんだ。
現象が再現するミニマムなコードがこんな感じ。 一応 .NET の風習に習って Workbooks も変数で参照してみた。
Access VBA の標準モジュールから Excel をコントロールする。
ちなみに xlBook.Save こいつをコメント アウトするとプロセスが消えてくれる。
Windows XP SP3 & Office 2003 SP3 の PC で再現を確認。ただし時間がなかったので部下の 1台でしか動かしてない。
ちなみにオイラが使ってる Windows XP SP3 & Office 2007 SP2 では xlApp = Nothing の所で Excel のプロセスは終了する。この行をコメント アウトしても End Sub で終了してくれる。
コードを見る限りバージョンの違いではないと思う。
暗黙的な参照されちゃってるかなぁ、、、されてないと思うんだけどなぁ。。。
"Excel プロセス 残る" で検索しても得られるのは .Net Framework な情報ばかりなんだよなぁ。
ともかく明日は他の PC でも調査だな。
C# か VB.net の話かと思ったら VBA だっつうんだ。
現象が再現するミニマムなコードがこんな感じ。 一応 .NET の風習に習って Workbooks も変数で参照してみた。
Access VBA の標準モジュールから Excel をコントロールする。
Sub Test() Dim xlApp As Object Set xlApp = CreateObject("Excel.Application") xlApp.Visible = True Dim xlBooks As Object Set xlBooks = xlApp.Workbooks Dim xlBook As Object Set xlBook = xlBooks.Open("D:?hoge.xls") xlBook.Save xlBook.Close xlApp.Quit Set xlBook = Nothing Set xlBooks = Nothing Set xlApp = Nothing End Sub
ちなみに xlBook.Save こいつをコメント アウトするとプロセスが消えてくれる。
Windows XP SP3 & Office 2003 SP3 の PC で再現を確認。ただし時間がなかったので部下の 1台でしか動かしてない。
ちなみにオイラが使ってる Windows XP SP3 & Office 2007 SP2 では xlApp = Nothing の所で Excel のプロセスは終了する。この行をコメント アウトしても End Sub で終了してくれる。
コードを見る限りバージョンの違いではないと思う。
暗黙的な参照されちゃってるかなぁ、、、されてないと思うんだけどなぁ。。。
"Excel プロセス 残る" で検索しても得られるのは .Net Framework な情報ばかりなんだよなぁ。
ともかく明日は他の PC でも調査だな。
コメント