tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^2: エクセルのプロセス(シート名変更)終了できない
投稿日: 2015/12/09(Wed) 01:35
投稿者花ちゃん
下記なら一応解放されます。(カウントが 0 になるので)
但し、after:= の部分の処理はどのようにすべきか解らないので取りあえずこのままで

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim oExcel As Object = CreateObject("Excel.Application")
        oExcel.Visible = True
        Dim oBooks As Object = oExcel.Workbooks
        Dim XlsFileName As String = "g:\Test.xls"
        Dim oBook As Object = oBooks.open(XlsFileName)
        Dim oSheets As Object = oBook.Worksheets
        Dim oSheet As Object = oSheets("HYOSI")
        oSheet.Copy(after:=oSheet)  'この処理は正しいとは言えません。
        Dim oSheet1 As Object = oSheets("HYOSI (2)")
        oSheet1.Name = CStr(123)

        'これだけカウントが余計に上がるので
        Dim cu As Integer = System.Runtime.InteropServices.Marshal.FinalReleaseComObject(oSheet)
        Console.WriteLine(cu.ToString)

        cu = System.Runtime.InteropServices.Marshal.ReleaseComObject(oSheet1)
        Console.WriteLine(cu.ToString)
        cu = System.Runtime.InteropServices.Marshal.ReleaseComObject(oSheets)
        Console.WriteLine(cu.ToString)
        oBook.Close(False)
        cu = System.Runtime.InteropServices.Marshal.ReleaseComObject(oBook)
        Console.WriteLine(cu.ToString)
        cu = System.Runtime.InteropServices.Marshal.ReleaseComObject(oBooks)
        Console.WriteLine(cu.ToString)
        oExcel.Quit()
        cu = System.Runtime.InteropServices.Marshal.ReleaseComObject(oExcel)
        Console.WriteLine(cu.ToString)
    End Sub

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。