• ベストアンサー

エクセルマクロでCSVファイルをACCESSのテーブルに取り込みたい

エクセルマクロというかプログラミング初心者です。 エクセルマクロでCSVファイルをACCESSのテーブルに取り込みたいのですが、なんだかさっぱり分かりません。 近いサンプルコードや勉強方法が載っているサイトをご存知のかたがいらっしゃったら教えてください。

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

  • ベストアンサー
  • robbie21
  • ベストアンサー率55% (5/9)
回答No.1

単にCSVをAccessに取り込むだけならマクロは不要です。 たぶんプログラミングで取り込む、わざわざしかもAccessの側でなくてExcelマクロから行うのには、たぶん理由があると思うのですが、その辺やりたいことをなるべく具体的に書いてみたほうが良いと思います。 以下のリンクが求める回答になっているか、あまり自信は無いのですが 魔術幻燈-VBAマクロサンプル集 CSVファイルを読み込む http://www.bekkoame.ne.jp/~poetlabo/COMP/Excel/VBASAMP/IMP_CSV.TXT Excelでお仕事 CSVのVBSでの読み書きの例があります。 http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_050.html Access VBA Tips+α http://www.happy2-island.com/access/gogo03/capter00301.shtml

recycle_rocket
質問者

お礼

ご回答有難うございました。こわごわ作業していたところ、遅遅として進まず、困っていました。ほんとに大変助かりました。 「Excelでお仕事 CSVのVBSでの読み書きの例」で問題解決しました。 また、エクセルマクロを使用するのが前提条件としてあったのですが,その辺りをもう一度見直してみようかとも思っています。 ありがとうございました。

関連するQ&A

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

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

  • エクセルVBAでCSVを読み込んで別ファイルにまとめたいです。

    エクセルVBA初心者の者です。 マクロの記録でできたコードをいじって、 なんとか動くものができるレベルです。 Aというフォルダに20~40行程度の内容のCSVファイルが 数百個あります。開けてみないと何行あるのかわかりません。 そのAフォルダのCSVの内容をエクセルで開いて、別のエクセルファイルの一枚のシートにまとめたいのです。 最初にCSVファイル名を一枚のシートのA列に書き出すところ まではやれたのですが、それを順番に読み込んでコピペの 流れができません。 CSVファイル名読み込み 読み込んだファイル1つめCSV開く CSVの20~40行をコピー 別のエクセルファイルのシートに貼り付け 1つめCSV閉じる ↓ 読み込んだファイル2つめCSV開く 繰り返し こういうやり方じゃない方がいいのかもわかりません。 もしかして考え方も違うのでしょうか? サンプルコード教えていただけるとありがたいです。 よろしくお願いします。

  • 複数csvファイルのデータとファイル名をひとつのACCESSのテーブルにインポートしたい

    1,000個以上のcsvファイルを、C:\tool\csvfiles\に格納し、C:\tool\にあるACCESSファイルのテーブル、「importfiles」にインポートするプログラムをVBAを作成したいです。 条件は、以下を満たしたいです。 ・1番右のフィールドにファイル名を追加したい ・それぞれのフィールドについて、データ型を指定したい ■CSVファイルのサンプル ファイル名(1):0009_xxx_0001.CSV データ内容(1): 部署コード 請求コード 日時  料金 0001   1234   090730 100 0001   1235   090730 150 ファイル名(2):0009_xzy_0002.CSV データ内容(2): 部署コード 請求コード 日時  料金 0002   2234   090730 100 0002   2235   090730 150 ■ACCESSでやりたいこと テーブル名:importfiles データ内容: ファイル名     部署コード 請求コード 日時  料金 0009_xxx_0001.CSV  0001   1234   090730 100 0009_xxx_0001.CSV  0001   1235   090730 150 0009_xzy_0002.CSV 0002   2234   090730 100 0009_xzy_0002.CSV 0002   2235   090730 150 データ型は料金は料金は数値型、それ以外はテキスト型です。 ACCESS 2003を試用しております。 transfertextではファイル名が取得できず、ほかの方法も見当がつかず、本当に困っています。 どなたかご存知の方、よろしくお願いいたします。

  • Accessのテーブルをエクセル出力するマクロ

    AccessのテーブルをVBAではなくマクロでエクセル出力したいと思っています。 マクロを使ってエクセル出力できるということはわかったのですが やり方がわかりません。 ご存知の方、教えてください。 よろしくお願いします。

  • ACCESSのテーブルをCSVファイルに

    こんにちは。 ACCESSテーブル内のフィールド値をカンマ付きのテキストファイルまたは CSVファイルで出力したいのですがなにか良い方法はないのでしょうか? ちなみにDoCmd.TransferTextだのDoCmd.OutputToを試してみたので すが、うまくいきませんでした。 よろしくお願いします。

  • ExcelマクロでCSV読込み

    ちょっと教えていただけるとうれしいです ExcelのマクロでCSVファイルを読込みたいのですが 改行マークをうまく読み込んでくれません なにかいい方法はないでしょうか?

  • CSVファイルをアクセスのテーブルに出力する

    こんにちは Access VBA初心者です。 やりたい処理なのですが CSVファイルをmdb内であらかじめ作成されているテーブルに出力したいのですが、 最初にTransferTextwでワークのテーブルにインポートして そのワークテーブルを1レコードずつ読み込みmdbのあらかじめ作成されているテーブルにINSERTしていくという方法しか今思いつきません。 インポートするとワークテーブルはすべてテキスト型になっていますが、 それを違う型の項目にINSERTするということなど可能なのでしょうか? それとももっとスマートな方法があるのでしょうか? ざっくりと書いてしまいましたが、よろしくお願いいたします。

  • CSVからACCESSのフールドに取り込む方法

    VBを使ってCSVからACCESSのフールドにデーターを取り込む方法を全般的に教えてもらいたいのですが。 <例> CSVファイル   ⇒   Accessテーブル A,100          名前 数 ←フィールド              A  100 初心者なので簡単なソースコードで教えてもらえれば ありがたいです。

  • マクロを使ったcsvファイルのインポートの方法

    お世話になります。 ( Windows 98 Second Edition : Access 2000 ) csvファイルをマクロを使ってインポートしたいのですが アクション種類、方法がわかりません。 初心者なのですが教えてください。 決まったフォルダーにcsvファイルを入れ あとはアクセスのメニュー画面で一括処理を行なう予定です。 (拡張子はcsvですがファイルの画像はエクセルの場合エクセルと考えたほうが いいのでしょうか) ファイル名はmeisai.csv user.csv head.csvの3種類です。 全て1行目はヘッダーとして使用しています。(ファイル名、ヘッダーの名称は 変わることはありません) インポートのvbaは作れるのですがこれをマクロでどのように設定使用するかが 分かりません。 一連の作業の流れとして(これは注文データです) ・メールできた暗号化ファイルを解凍しフォルダーへいれる ・3つのファイルをインポートする ・クエリでheadとmeisaiとuserを組み合わせる ・注文票としてレポート印刷する (開くたびにサイズがデフォルトに戻ってしまうのですが解消できますでしょ うか) ・更新クエリーを使い履歴を残す ・削除クエリーを使い元のテーブルを空にする 終了 以上の作業をメニュー画面のボタン一つで出来ればと考えています。ご教授お 願いいたいます。

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

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