既存のExcelを開いてVB.netから数値を代入したいのですができません。
既存のファイルを開くのに
Dim x1app As Object
Dim filename As String
x1app = CreateObject("Excel.Application")
filename = Environment.GetFolderPath(Environment.SpecialFolder.Personal)
Shell(x1app.Path & "\excel.exe """ & filename _& "\business.xls""", 1)
を書きました。
VB.netからExcelに書き込むには
Dim x1app As Excel.Application
Dim x1book As Excel.Workbook
Dim x1Sheet As Excel.Worksheet
x1app = CType(CreateObject("Excel.Application"), Excel.Application)
x1book = CType(x1app.Workbooks.Add, Excel.Workbook)
x1Sheet = CType(x1book.Worksheets(1), Excel.Worksheet)
x1Sheet.Cells(5, 13) = 5000
x1Sheet.Cells(6, 14) = 75
x1Sheet.Cells(7, 15) = "合計"
x1Sheet.Range("B3").Formula() = "=Sum(R1C2:R2C2)"
x1Sheet.Range("B3").Font.Bold = True
x1Sheet.Application.Visible() = True
でできます。
この二つをどのように組み込めばいいのでしょうか。
よろしくおねがいいたします。
Shell 起動しちゃうと新しく開いちゃいそうな気がしますが(汗)…分かりやすいのは
CreateObject した Excel.Application に Workbooks.Open メソッドが
あるのでそれを使うことですね。
Dim x1app As Excel.Application
Dim x1book As Excel.Workbook
Dim x1Sheet As Excel.Worksheet
Dim filename As String = "business.xls"
Dim filePath As String = Environment.GetFolderPath(Environment.SpecialFolder.Personal) _
& "\" & filename
x1app = CType(CreateObject("Excel.Application"), Excel.Application)
x1app.Workbooks.Open(filePath)
x1book = CType(x1app.Workbooks(filename), Excel.Workbook)
x1Sheet = CType(x1book.Worksheets(1), Excel.Worksheet)
x1Sheet.Cells(5, 13) = 5000
x1Sheet.Cells(6, 14) = 75
x1Sheet.Cells(7, 15) = "合計"
x1Sheet.Range("B3").Formula() = "=Sum(R1C2:R2C2)"
x1Sheet.Range("B3").Font.Bold = True
x1Sheet.Application.Visible() = True
ツイート | ![]() |