- 締切済み
【エクセル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)に返す 恐れ入りますがよろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Hayashi_Trek
- ベストアンサー率44% (366/818)
「エクセル オラクル 接続」で検索した結果から お手軽が一番、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の文法が判らないのでしょうか?
- x-1919
- ベストアンサー率52% (91/173)
その想定した手順に対する実装方法がわからない? その手順は無視して、とりあえずパパッとやる方法ならいくらでも検索で引っかかるとおもうけど。 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 しか使ったことがないが。。。