こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

【エクセルVBA】OraDBのデータを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)に返す

恐れ入りますがよろしくお願いいたします。

投稿日時 - 2013-02-21 17:58:46

QNo.7957175

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

Oracle は触ったこともありませんが、このリンクは参考になるかと。
古い記事ですが基本は変わらないかと思います。
カラム名やデータ型についても載っています。
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/vb_s27.htm

あと、CSVの仕様も確認しておいた方が宜しいかと。
単純にカンマで区切るだけで良いのか、テキスト型は" "で括る必要があるなど。

投稿日時 - 2013-02-21 23:58:10

ANo.1

Excelなんだから作業シートにでも張り付けてCSV保存してあげればいいだけでは?

投稿日時 - 2013-02-21 18:12:11

あなたにオススメの質問