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

締切り済みの質問

【エクセル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)に返す

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

投稿日時 - 2013-02-21 17:55:43

QNo.7957167

困ってます

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

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

回答(2)

ANo.2

「エクセル オラクル 接続」で検索した結果から

お手軽が一番、ExcelをOracleクライアントに
http://www.atmarkit.co.jp/fdb/rensai/excel2oracle02/excel2oracle02_1.html

ExcelからOracleのデータを操作するサンプル
http://www.kihara.net/tips/vba/excel/ora_xls.html

エクセルとオラクル(データベース)を使ってシステムを作成したいのですが
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1215057562


それとも、SQLの文法が判らないのでしょうか?

投稿日時 - 2013-02-22 13:16:46

ANo.1

その想定した手順に対する実装方法がわからない?
その手順は無視して、とりあえずパパッとやる方法ならいくらでも検索で引っかかるとおもうけど。

http://www.google.co.jp/search?hl=ja&q=oo4o+csv&lr=lang_ja
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/vb_t25.htm

2つ目の URL では VBA の Open メソッドでテキストファイルを生成しているが、そこは FileSystemObject を使っても問題ないと思う。
というか個人的には FileSystemObject しか使ったことがないが。。。

投稿日時 - 2013-02-22 12:54:07

あなたにオススメの質問