ここでは、VB.NETで任意のEXCELシートを開いて値を取得する方法を紹介します。
VB.NETで任意のEXCELシートを開いて値を取得するには、Excel.Applicationを使います。
<サンプル>
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
‘変数宣言
Dim ex As New Microsoft.Office.Interop.Excel.Application
Dim sh As Microsoft.Office.Interop.Excel.Worksheet
Dim wb As Microsoft.Office.Interop.Excel.Workbook
’ファイルオープン
wb = ex.Workbooks.Open(“C:\wk\test1.xlsx”)
sh = wb.Sheets(“一覧表”)
MsgBox(sh.Range(“A2”).Value)
ex.Quit()
End Sub
End Class
まず変数宣言で、Excel.Application、Worksheet、Workbookを宣言しています。次にファイルオープンします。
「wb = ex.Workbooks.Open(“C:\wk\test1.xlsx”)」でファイル名を指定してエクセルファイルを開いています。
さらに「sh = wb.Sheets(“一覧表”)」でシート名を指定してシートを開いています。「sh = wb.Sheets(1)」とすることで1番目のシートを開くこともできます。
そして「MsgBox(sh.Range(“A2”).Value)」でシートの中のセルの値をRangeを使って取得しています。
最後に「ex.Quit()」でExcel.Applicationをクローズしています。これをしないとファイルがオープンされたまま、ロックされてしまいます。