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

わんくま同盟

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

C# と VB.NET の入門サイト


(過去ログ 86 を表示中)
■50704 / )  Excel(SaveAs)がプロセスに残る
□投稿者/ VBねっと (1回)-(2010/06/15(Tue) 17:49:52)

分類:[VB.NET/VB2005 以降] 

WinXp+VB2008Express+Excel2003

ExcelをVBで制御していますが、ExcelのSaveAsメソッドを使用すると
プロセスにExcel.exeが残ってしまいます。
どなたか解決方法がわかりませんか?
Excel2002では起きていません。

コードは下記のように実装しています。

---------------------------------------------------------------
Private Function testExcel() As String
Dim xlapp As New Excel.Application()
Dim xlbooks As Excel.Workbooks = xlapp.Workbooks
Dim xlbook As Excel.Workbook
Dim xlsheets As Excel.Sheets
Dim xlsheet As Excel.Worksheet
Dim xlrange As Excel.Range

Try
xlbook = xlbooks.Open("C:\test.xls")
xlsheets = xlBook.Sheets
xlsheet = xlsheets.Item("Sheet1")
xlapp.Visible = True

' Cellの操作
xlrange = xlsheet.Range("A1")
xlrange.Value = "hoge"
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlrange)
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlsheet)
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlsheets)
xlapp.DisplayAlerts = False
xlbook.SaveAs("C:\test.xls") '<- ここをコメントアウトするとプロセスにExcel.exeは残りません
xlbook.Close()
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlbook)

Catch ex As Exception
MsgBox(ex.Message)
testExcel = "NG"

Finally
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlbooks)
xlapp.Quit()
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlapp)
testExcel = "OK"

End Try


End Function
---------------------------------------------------------------
返信 編集キー/


管理者用

- Child Tree -