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\test2.xlsx”)
sh = wb.Sheets(“一覧表”)
sh.Range(“C3”).Value = sh.Range(“C3”).Value + 20
wb.Save()
ex.Quit()
MsgBox(“終了”)

End Sub
End Class

まず変数宣言で、Excel.Application、Worksheet、Workbookを宣言しています。次にファイルオープンします。
「wb = ex.Workbooks.Open(“C:\wk\test2.xlsx”)」でファイル名を指定してエクセルファイルを開いています。

さらに「sh = wb.Sheets(“一覧表”)」でシート名を指定してシートを開いています。「sh = wb.Sheets(1)」とすることで1番目のシートを開くこともできます。

そして「sh.Range(“C3”).Value = sh.Range(“C3”).Value + 20」でシートの中のセルの値をRangeを使って取得し、20を足して代入しています。

wb.Save()」でシートの上書き保存を行っています。別名保存したい場合は、「wb.SaveAS(C:\wk\test3.xlsx)」などとしてください。

最後に「ex.Quit()」でExcel.Applicationをクローズしています。これをしないとファイルがオープンされたまま、ロックされてしまいます。

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