プロジェクトの参照設定で
Microsoft Excel x.0 Object Libraryを指定
(x.0はエクセルのバージョンによって、違う数字です)
以下のコードでデータの出力が可能です。
Sub Main()
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
'エクセル起動
Set xlApp = New Excel.Application
'(1)ワークブックを開く場合
xlApp.Workbooks.Open ("c:\test.xls")
'(2)ワークブックを新規で追加する場合
xlApp.Workbooks.Add
'現在カレントのブックを対象とする
Set xlBook = xlApp.ActiveWorkbook
'カレントブックのシート1を指定
Set xlSheet = xlBook.Worksheets(1)
xlSheet.Select
'エクセルへの出力方法(1)
xlSheet.Cells(2, 3).Value = "あ"
'エクセルへの出力方法(2)
xlSheet.Range("B2").Value = "い"
'エクセルアプリケーション表示
xlApp.Visible = True
'閉じる時の「保存しますか」を表示させない
xlBook.Saved = True
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
End Sub
構造体は独自で宣言した構造ですよね。それはエクセルじゃなくても、独自の構造体は他への流用は難しいと思います。
エクセルには一つずつ書き込むか、構造体ではなく配列にして、エクセルに出力する時に範囲指定をして、まとめて出力する方法があります。
'エクセルへの出力方法(2)をちょっと改造して
Range(開始のセル,終了のセル).Value = 配列変数
といった書式です。
お礼
ありがとうございました。 この通りにやって無事解決しました。