環境は

・VB.NET 2003
・Excel 2000
です。

下記のようなコードを書きました。

http://d.hatena.ne.jp/akio0911/20070517/1179389421


実行するとExcel.exeのプロセスが残ってしまいます。

何らかのオブジェクト開放し忘れが原因だと思うのですが、
問題がある箇所の修正案を示してください。

回答の条件
  • 1人1回まで
  • 登録:2007/05/17 17:11:34
  • 終了:2007/05/17 18:22:50

回答(2件)

id:taknt No.1

きゃづみぃ回答回数13539ベストアンサー獲得回数11982007/05/17 17:26:13

ポイント35pt

こういう場合は、プログラムを小さくして調べたらいいでしょう。

たとえば

Dim xlApplication As Excel.Application

Try
    xlApplication = New Excel.Application
    If Not xlApplication Is Nothing Then
        Try
            xlApplication.Quit()
        Finally
            System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApplication)
        End Try
    End If
End Try

というように 最小単位から ちゃんと終了するのか 確認していけばいいです。

私は

If Not xlApplication Is Nothing Then

と 判断している個所が あやしいような気がしますが。

id:aside No.2

aside回答回数339ベストアンサー獲得回数312007/05/17 17:57:26

ポイント35pt

COMオブジェクトの解放忘れの項目が該当?

http://hanatyan.sakura.ne.jp/dotnet/Excel08.htm

  • id:aside
    xlApplication.Range("A2").Select()
    どっとを連続で使わないために上記の部分は
    oTempRange = xlApplication.Range("A2")
    oTempRange.Select()
    にしたりするのかな?

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません