• ベストアンサー

Excelへのデータ送信

CSVファイルから構造体にデータを取り込んでから、そのデータをExcelにセルを指定して取り込むことは可能ですか? 構造体には取り込めたのですが、そこからExcelにデータを遅れません。 アドバイス下さい! お願いします!

質問者が選んだベストアンサー

  • ベストアンサー
  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.2

プロジェクトの参照設定で 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 = 配列変数 といった書式です。

dmn
質問者

お礼

ありがとうございました。 この通りにやって無事解決しました。

その他の回答 (1)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

構造体をEXCELは理解してくれないでしょうが。 構造体のメンバーをCHR(9)で連結して送信すればよかったような記憶があります。