既存のExcel ファイル(Book)を開く
COMを使う時の注意
VBからExcelなどを扱う際、COMオブジェクトの解放に注意する必要があります。
Microsoftのサポート技術情報に解決方法が紹介されています。
Visual Studio .NET クライアントで自動化した Office アプリケーションが終了しない
COMオブジェクトは、作成した(された)オブジェクトをすべて変数に保管し明示的にSystem.Runtime.InteropServices.Marshal.ReleaseComObjectで参照カウント減らしてあげる必要があるようです。(最初は、Excel.Applicationだけでよいのではと思っていたのですがダメなようです。)
ExcelのBookを新規作成する
メニューより[プロジェクト] - [参照の追加] を選択し、参照の追加ダイアログを表示します。
タブの中からCOMを選択します。一覧の中からMicrosoft Excel ******を選択し、[OK]をクリックします。
注意:エラー処理は省略してあります。
Dim xlApplication As Excel.Application
Dim xlBooks As Excel.Workbooks
Dim xlBook As Excel.Workbook
' Excelのインスタンスを生成する
xlApplication = New Excel.Application()
' xlApplicationからWorkBooksを取得する
xlBooks = xlApplication.Workbooks
' 既存のExcelファイル
Dim strFilePath As String = "c:\hoge\hoge.xls"
' Workbookを開く
xlBooks.Open(strFilePath)
' Excelを終了する
xlApplication.Quit()
' COM オブジェクトの解放
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlBook)
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlBooks)
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApplication)
xlBook = Nothing
xlBooks = Nothing
xlApplication = Nothing