【エクセルVBA】DBのデータをCSVに
VBA初級者です。
oracleDBのデータをCSVへ出力するマクロをVBAで作成中ですが、実装方法が分からず困っています。
・DB接続はoo4o
・エクセルは2010
・SQLで取得したデータを1レコードづつCSVに書き出したい
・カラム名をヘッダーとして書き出したい
以下のような実現方法でできるか…?と考えたものの、
肝心のマクロ(VBA)でのDBデータの取得⇒CSVへの書き込み方法がいくら調べてもわかりません。
CSVからDBへのインポートはたくさんあったのですが…。
そもそも取得したレコードを配列で保持して書き出す、という考え方が合っているのか?ヘッダー(カラム名)はどのように書き出せばいいか?
など疑問が尽きません。何卒お力添え頂ければ幸いです。
--ボタンクリック時のアクション--
(1)変数定義
(2)DB接続情報確認
(3)DB接続
'DB接続
Set oraSession = CreateObject("OracleInProcServer.XOraSession")
Set oraDatabase = oraSession.OpenDatabase(dbSid, dbUser & "/" & dbPass, ORADB_DEFAULT)
(4)書き込み用のCSVファイルを作る
(5)SQLを実行し返ってきた結果をsplit関数で配列としてwriteListにAddする
(5)作成したCSVファイル内にwriteListのデータをPrint #で書き出す
(6)完了メッセージを表示
MsgBox "完了しました "
(7)DBの切断
'DBクローズ
Set oraDatabase = Nothing
Set oraSession = Nothing
--SQLを実行するメソッド--
(8)SQLを記述、SELECT結果を(5)に返す
恐れ入りますがよろしくお願いいたします。
お礼
ありがとうございました。 イメージしていた以上に多機能で驚きました。 大変参考になりました。