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