VB.NETで任意のEXCELシートを開いて値を取得する方法

ここでは、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をクローズしています。これをしないとファイルがオープンされたまま、ロックされてしまいます。

<参考>
VB.NETでEXCELファイルを使うときにやっておくべき設定や方法