|
分類:[.NET 全般]
よろしくお願いします。 前回エクセルの終了について下記のプログラムの指導を頂きました。それは解決しました。 今回はこのプログラムで実行するとエクセルのプロセスが残っていることが判明しました。 このエクセルのプロセスの解放についてご教示いただきたいと思います。 ■No38821 (魔界の仮面弁士 さん) に返信 >>■No38820 (亜矢 さん) に返信 > >>早速のご指導ありがとうございます。開くプログラムは下記のようになっています。 >>解放処理に問題のありそうなコードになっていますね…。 >> >>原型に近い形で修正するとしたら、こうかな。 >># 掲示板上に直接記述しただけなので、テストしていませんけれども。 >> >> >>Imports System.Runtime.InteropServices >>Public Class Form1 >> Private exApp As Excel.Application = Nothing >> Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click >> Button1.Enabled = False >> exApp = New Excel.ApplicationClass() >> Dim exBooks As Excel.Workbooks = exApp.Workbooks >> Dim exBook As Excel.Workbook = exBooks.Open("C:\test.xls") >> exApp.Visible = True >> Marshal.ReleaseComObject(exBook) >> Marshal.ReleaseComObject(exBooks) >> End Sub >> >> Private Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button2.Click >> If exApp IsNot Nothing Then >> exApp.Quit() >> Marshal.ReleaseComObject(exApp) >> exApp = Nothing >> End If >> End Sub >>End Class
|