DOBON.NET DOBON.NETプログラミング掲示板過去ログ

既存のエクセルファイルに書き込む

環境/言語:[XP、.NET,)、.NET FrameworkV1.1]
分類:[.NET]

はじめまして。豆之助といいます。VB.NETで、すでにあるエクセルファイルを起動し、その中のセルにデータを書き込むというのはどのようにやったらよいのでしょうか?

新しくエクセルファイルを作って書き込む方法は次のようにすればよいことはわかっているのですが、既存のエクセルファイルに書き込む方法がわかりません。

dim data(9,9)
Dim objApp As Excel.Application 'エクセルと連携するための変数
Dim objBook As Excel._Workbook 'エクセルのワークブック
Dim objBooks As Excel.Workbooks ' ワークブックのオブジェクト
Dim objSheets As Excel.Sheets 'Excelシートのオブジェクトとして宣言
Dim objSheet As Excel._Worksheet'Excelワークシートのオブジェクトとして宣言
Dim range As Excel.Range 'Excelのアドレスとして宣言

'Excelのインスタンス(インスタンスが何かわかりません)を作成し、新しいExcelデータを作成
objApp = New Excel.Application
objBooks = objApp.Workbooks
objBook = objBooks.Add
objSheets = objBook.Worksheets
objSheet = objSheets(1)

'書き込むセルのアドレスを入手
range = objSheet.Range("A2", Reflection.Missing.Value)
range = range.Resize(9, 9)

'Excelの起動
objApp.Visible = True
objApp.UserControl = True

for i=0 to 9 step 1
for j=0 to 9 step 1
         data(i,j)=i*j
        next j

range.Value = data
next i

とするとエクセル上に九九の表のようなものができるのはわかったのですが、今度はこれに対して10のダン、11のダンなどとつなげていけたらいいと思い書き込みました。
■No6871に返信(豆之助さんの記事)
> はじめまして。豆之助といいます。VB.NETで、すでにあるエクセルファイルを起動し、その中のセルにデータを書き込むというのはどのようにやったらよいのでしょうか?
>
> 新しくエクセルファイルを作って書き込む方法は次のようにすればよいことはわかっているのですが、既存のエクセルファイルに書き込む方法がわかりません。

新しくエクセルファイルを作成するか、
既存のエクセルファイルを開くかだけで、
その後の書き込む等の処理は同じ方法でいけます。

既存のエクセルファイルを開くには以下のように。
objApp = New Excel.Application
objApp.Visible = True
objBooks = objApp.Workbooks
objBooks.Open("C:\Book1.xls")
以下略

ちなみに、
objApp.Visible = True
は起動したExcelアプリケーションを表示しているだけで、
Excelアプリケーションの起動は
objApp = New Excel.Application
の行で行われています。
コメントを見て、もしかして勘違いされていたらと少々不安になりましたので。
■No6882に返信(rakiさんの記事)
> ■No6871に返信(豆之助さんの記事)
rakiさん。ありがとうございました!
コードをコピーさせていただき、実行した結果、見事にできました。

本当にありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板