- ベストアンサー
Excelへのデータ送信
CSVファイルから構造体にデータを取り込んでから、そのデータをExcelにセルを指定して取り込むことは可能ですか? 構造体には取り込めたのですが、そこからExcelにデータを遅れません。 アドバイス下さい! お願いします!
- みんなの回答 (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 = 配列変数 といった書式です。
その他の回答 (1)
- bin-chan
- ベストアンサー率33% (1403/4213)
構造体をEXCELは理解してくれないでしょうが。 構造体のメンバーをCHR(9)で連結して送信すればよかったような記憶があります。
お礼
ありがとうございました。 この通りにやって無事解決しました。