C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.63120 の関連記事表示

<< 0 >>
■63120  Re[5]: VB.NETでExcelブックを開けない
□投稿者/ あひる -(2012/07/21(Sat) 17:10:22)
    みなさん。

    回答ありがとうございます。

    VS2008で、ブレイクポイントを張ってチェックしました。
    ブレイクポイントなしで実行すると、問題ないのですが、
    ブレイクポイントありで、デバックしながら実行すると、★の箇所でブックが閉じてしまいます。

    そして、この現象は、ブレイクなしで、F5で実行すると、問題なく動作します。

    VS2010では、問題なかったです。VS2008でブレイクポイントありの場合に、この現象が発生します。
    自分の環境では、100%の再現率です。

    うーんんんん。。。

    VS2008の不具合なのでしょうか。。。

    困りました。。


    Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim excelApl As Object = CreateObject("Excel.Application")
    excelApl.visible = True
    Dim wbs As Object = excelApl.workbooks
    wbs.open("C:\book.xlsx")
    Dim wb As Object = excelApl.activeworkbook ' ★ここで、ブックが閉じてしまう。
    wb.close()
    ReleaseObj(wb)
    ReleaseObj(wbs)
    excelApl.quit()
    ReleaseObj(excelApl)

    End Sub

    Public Sub ReleaseObj(ByRef objCom As Object)
    Try
    If Not objCom Is Nothing AndAlso System.Runtime.InteropServices. _
    Marshal.IsComObject(objCom) Then
    Dim I As Integer
    Do
    I = System.Runtime.InteropServices.Marshal.ReleaseComObject(objCom)
    Loop Until I <= 0
    End If
    Catch
    Finally
    objCom = Nothing
    End Try
    End Sub

    End Class
記事No.63112 のレス /過去ログ106より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -