• ベストアンサー

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

  • csvファイルをAccessに取り込むとデータ数が増える

    項目をカンマで区切っただけの単純なcsvファイルをAccessでインポートしてテーブルを作成したら、データ数が増えてしまいました。 (csvファイルをテキストで開いたときの行数と、Accessの行数が異なる) 5000件ぐらいなら、csvもAccessもデータ数は同じなのですが、データ数が大きくなると、csvとAccessのテーブルで6万件とかの差分が出てしまいます。 csvファイルとAccessで、データ数を同じにするにはどうしたら良いでしょうか。 参考になるURLでも良いので、教えて頂ければと思います。 よろしくお願いします!

  • AccessでのCSVファイル取り込みの自動化をしたいのですが。

    AccessでのCSVファイル取り込みの自動化をしたいのですが。 D:\DATA\というフォルダの下に「01」~「99」という99個のフォルダがあり、すべてのフォルダの中に「item.csv」「kaku.csv」,「kumi.csv」,「time.csv」,「total.csv」という存在します。 毎日01-99に順番にデータが格納されていきます。そのデータを毎日、Accessのテーブルに保存する作業を自動化(「01」~「99」のフォルダ指定)にしたいのですが出来ません。 どなたかご教授ください。ちなみにAccessのテーブルはCSVのファイル名と同じです。

  • 任意のCSVファイルをAccessに取り込むには?

    同様の質問が発見できなかったため質問させて頂きます。 アクセスを利用して日々の電力監視のデータを管理しようと思います。 データを出力するシステムの都合で、日々のデータがcsv形式で毎日1ファイル生成されます。 ファイル名は[AT20070925.csv]のような形です。 このファイルをアクセスにインポートする際、ファイル名をダイレクトに指定しなくてもインポートするファイルを指定することは出来るのでしょうか? 具体的には (1)毎日指定した時間にデータを取り込むものとして、本日の(または前日の)ファイル名のデータを取り込む (例えば9月26日0時2分に9月25日のデータ[AT20070925.csv]を自動的にインポートする) (2)処理を行う際に随時指定した日付のファイル名のデータを取り込む (フォームで日付を指定し、例えば9月25日と指定したら[AT20070925.csv]を随時インポートする) インポートするファイル名に変数を使うことは可能なのでしょうか? また実際にはインポートでなくリンクを使用する可能性もあるのですが、リンクでも同じ様な処理は出来るのでしょうか? 良い方法等ありましたらご教授いただければと思います。

  • 複数のCSVファイルの読みこみ

    Accessのファイルの読み込みについて質問です。 フォルダ内にある(すべて同じフォーマットの)複数のCSVファイルを、Accessの1つのテーブルに読み込むことは可能でしょうか?素人質問で恐縮です。よろしくお願いいたします。

  • Access2000のCSVファイルのインポートについて

    Access2000でCSVファイルをインポートしようと思っています。 インポート方法は、VBAで 「DoCmd.TransferText acImportDelim, , "テーブル名", "ファイル名"」を使用しています。 この時に、CSVファイルが次のようなデータです。 F1,F2,F3 0010,0200,0001A12 0011,0201,0021B12 (実際は、1000件近いデータです) これをインポートすると、 F1,F2,F3 10,200,1A12 11,201,21B12 となってしまいます。 頭の「0」を省きたくないのです。 文字列として取り込めないでしょうか? CSVのデータに""を自動でつける方法はないでしょうか? Accessの外部データの取り込みを使うと、文字列として指定できるのですが、VBAを使いワンクリックでデータを取り込もうとしています。 よろしくお願いします。

  • CSVファイルの取り込みについて。

    エクセルからCSVに変換したファイルを、 Accessのテーブルに取り込みたいと考えています。 電話番号など、 頭に0(ゼロ)のつくデータをCSVに変換すると、 頭の0(ゼロ)が外れてしまうと思います。 テーブルに取り込んだときには、 頭の0(ゼロ)が付いた形にしたいのですが、 どうしたら良いのでしょうか? 取り込んだ後に変換するのでもかまいません。 ご教示下さい。

  • CSVデータをAccessのテーブルとして取り込み

    アクセスを勉強しはじめた初心者です。 csv形式のデータをアクセスのテーブルとして取り込みたいのですが、日付データがうまく取り込めません。 csvでは日付データが「20110101」という形式になっているためだと思うのですが、これをアクセスに日付「2011/1/1」として取り込むことはできないのでしょうか? csvをエクセルで開いて書式を修正すればできたのですが、csvファイルがたくさんあるため、アクセス側でなんとかできないかと思っています。 よろしくおねがいします。

  • csvファイルをアクセスにインポート

    こんにちは。Access2000について質問させてください。よろしくお願いいたします。 csvファイル内のデータをAccess2000に作成したデータベースにインポートしたいんのですが、どうすれば良いでしょうか? 何を調べたらいいかもわからない状態で… どなかかご存知の方がいらっしゃったら教えて下さい。なにとぞ宜しくお願いいたします。

  • Access csvの取込 ファイルは任意でテーブルは指定したいのですが?

    Access初心者です。2003を使用しています。 csvをマクロの「テキスト変換」で取り込ませています。取り込み時に定義どおりのテーブルを作成してくれるので、追加クエリを使い作業用テーブルに移動させ、処理にはそちらを使う仕組みにしています。 csv → データ用テーブル → 作業用テーブル(実際使うテーブル) csv取り込みには「テキスト変換」マクロでファイル名にパスを設定していますが、この部分を固定パスではなく任意に指定できるようにしたいのです。(取り込みたいcsvが決まったパス、ファイル名で無い場合があります。) 「コマンドの実行:インポート」ですとダイアログが出て任意に取込ファイルが指定できますが、インポートウィザードが起動してしまいます。使用者がウイザードで適切な定義を選びデータ用テーブルを作成してくれればいいのですが、私がツールを作りPCに詳しくない人が使うのでインポートウイザードを避けたいと考えます。 どなたか、マクロ「テキスト変換」でファイル名をダイアログなどで、任意に指定できるような手法をご存じないでしょうか? また、マクロでは無理なようでしたらVBAでしたら可能でしょうか? よろしくお願いします。

  • ACCESSで毎回CSVファイルをテーブルにインポートする

    ACCESSでGUIで毎回CSVファイルをインポートしていますが、 (テーブル→新規作成→デーブルのインポート) 自動化?VBA?することはできるのでしょうか。 ACCSESSは初心者でよくわかっていません。 よろしくおねがいします。