• ベストアンサー

ACCESSで空のCSVファイルを作成したい

超初心者の質問になります。 現在空のCSVファイルを作成し、そのCSVファイルの中にACCESSの テーブルのデータを書き込むモジュールを作ろうとしています。 テーブルそのままでなく、ヘッダーをつけたいのでこの形にしています。 いきなり分からないのですが、空のCSVファイルを作成(ファイル名指定) する場合は、どうすればいいのでしょうか。 簡単な質問で恐縮ですが、教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • taseki
  • ベストアンサー率66% (155/233)
回答No.1

VBのFileSystemObjectを使うのですよね? その場合、CSVに限らずテキストファイルを以下のように作成します。 Set objFSO = CreateObject("Scripting.FileSystemObject") Set objText = objFSO.CreateTextFile("C:\~~~\file.txt", True) ' *********** データ出力 objText.Close ちなみに、どんなヘッダーなのか解りませんが、単純なフィールド名のヘッダーなら、AccessのTransferTextで、Has Field Namesを設定すれば自動的にヘッダーが付けられます。

murata1980
質問者

お礼

ありがとうございます。 Set objFSO = CreateObject("Scripting.FileSystemObject") Set objText = objFSO.CreateTextFile("C:\~~~\file.txt", True) の追加で作成できました。 が、無知な私に教えて下さい。この構文は何をしているのでしょうか。もしご迷惑じゃなければ細かく教えてもらえますでしょうか。

その他の回答 (1)

  • taseki
  • ベストアンサー率66% (155/233)
回答No.2

> この構文は何をしているのでしょうか VBの基礎はご存知だと仮定して、FileSystemObjectについて簡単に説明しますと、 FileSystemObjectというのはVBから簡単にファイルにアクセスできるコンポーネントで、以前の方法のようなステートメントではなく、オブジェクトとして使うことが出来ます。 当然、空のファイルを作るだけでなく、今回やろうとされているCSVの出力などもできます。 Set objFSO = CreateObject("Scripting.FileSystemObject") という行で、FileSystemObjectを作成して変数objFSOにセットします。 objFSO.CreateTextFile というのは、FileSystemObjectから「テキストストリーム」というオブジェクトを生成するメソッドです。 このテキストストリームを使えば、Writeなどファイルへの読み書きが可能になります。 プロパティやメソッドなど詳しくはヘルプにも載っているので参考にしてください。

関連するQ&A