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

タイトル Re^5: Mutex使用時にExcelのプロセスが終了しない
投稿日: 2007/11/05(Mon) 13:41
投稿者むなり
Sub 〜 End Subの間で、下記のようにReleaseComObjectを使用
--------
        Dim xlApp As Microsoft.Office.Interop.Excel.Application
        Dim xlWbs As Microsoft.Office.Interop.Excel.Workbooks
        Dim xlWb As Microsoft.Office.Interop.Excel.Workbook
        Dim xlWss As Microsoft.Office.Interop.Excel.Sheets
        Dim xlWs As Microsoft.Office.Interop.Excel.Worksheet

        xlApp = New Microsoft.Office.Interop.Excel.Application
        xlWbs = xlApp.Workbooks
        xlWb = xlWbs.Add
        xlWss = xlWb.Worksheets
        xlWs = xlWss.Item(1)

        System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWs)
        System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWss)
        xlWs = Nothing
        xlWss = Nothing
        xlWb.Close(False)
        System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWb)
        xlWb = Nothing
        xlWbs.Close()
        System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWbs)
        xlWbs = Nothing
        xlApp.Quit()
        System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp)
        xlApp = Nothing
---------
これにより、Mutexの二重起動防止のスクリプトを含んでいても、
プロセスが終了するようになりました。

一番最初のスクリプトで、二重起動防止を使用してない場合にプロセスが終了するのは、
終了しているように見えてるだけ・・なんでしょうか。
どこか見えない部分で不都合が残ったままとなるのでしょうか・・。

二重起動防止のスクリプトを入れるまで気付かなかった部分ですので、
今まで私が作ったスクリプトも問題ないようにみえてるため、見直しが必要ですね・・。
(特にReleaseComObjectを使用してませんでしたが・・)

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

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