任意Excel,TxtファイルをAccessへ取込

このQ&Aのポイント
  • Accessで任意のExcelファイルやテキストファイルをインポートする方法について教えてください。
  • ダイアログボックスからファイル名を取得して、それをAccessのテーブルとしてインポートする方法が知りたいです。
  • 現在はワークシート変換のマクロを使用してファイルを取り込んでいますが、他の方法があれば教えてください。
回答を見る
  • ベストアンサー

任意Excel,TxtファイルをAccessへ取込

ダイアログボックスにて取得したEXCEL2003ファイルおよびTextのインポート方法を教えていただけないでしょうか?ダイアログボックスからファイル名を取得するところ(テキストボックスにファイル名を代入するところまで)は、AccessClubのサンプルファイルで何とか紐解けましたが、この選択されたExcelファイルをAccessのテーブルとして(テーブル名=Excelファイル名)ファイルインポートするところがなかなか作れません。調べてもなかなか情報みつからずです。いまは、ファイル名とフォルダ場所を固定させることによって、マクロの”ワークシート変換”にて取り込んでおります(添付画像参照ください)。どうかアドバイスのほどよろしくお願い申し上げます。なお、Access2003です。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

こうすれば出来る方法: ファイルメニューの外部データの取り込みからインポートを開始 インポートダイアログでファイルの種類をExcelファイル(*.xls)やテキストファイル(*.txt,*.csv,*.tab,*.asc)に変更 エクセルファイル等を指定しインポートを開始, エクセルファイルならデータをインポートしたいワークシート等を指定して次へ行き, 警告が次々出てもビビらず進め適宜オプションを設定(先頭列をタイトルとして取得等以下同じ)し, フィールドのオプションまで進めて各列のデータ型や,不要な列まで取り込もうとしていたらこの列は要らないと列ごとに設定を確認して, 最後まで次々設定を確認しながら進め,完了して出来上がり。

pyon2world
質問者

お礼

早速の回答ありがとうございました。この方法でもOKなのですが、フォーム上でこの操作ができればいいなあと思いまして、いろいろ調べております。

pyon2world
質問者

補足

申し訳ありません。言葉足らずでした。やりたいことは、フォームの中にボタンを作成し、そのボタンをクリックすると、ファイル選択ウィンドーがでてきて選択し、その選択されたファイルを別のボタンをクリックすることによりTableにインポートするという流れです。

関連するQ&A

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

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

  • Accessファイル選択インポート

    環境WinXP,MS-Access2003 Accessマクロを利用して インポートファイルを「ダイアログのファイルを指定」にて固定長のインポートをさせたいです。 実行形式はマクロボタン押下だけです。 VBAのサンプルがあればご教授お願いいたします。 なお インポートファイルは111.txt インポート定義はAAA インポート先テーブルはXXX

  • ACCESSで、テキストファイルをインポートしたい

    宜しくお願い致します。 ACCESSで、テキストファイルをインポートしてテーブルを作成したいのですが、ファイル→インポートを選択して、ウィザードを開く方法は分かるのですが、マクロを作成してインポートは出来ないでしょうか? excel、CSVファイルでしたら、「ワークシート変換」、「テキスト変換」のマクロでインポートしたりエクスポートしたり出来ると思うのですが・・・、 (1)テキストファイルをインポートしたり、エクスポートしたりする場合、どのようなマクロがあるのでしょうか。 (ためしに、「出力」マクロで、あるテーブルをCSVファイルにエクスポートしてみたのですが、カンマ区切りにできず、excelのような枠付きのテキストファイルになってしまいました。) (2)容量が大きいデータの場合は、テキストファイルでエクスポートしたほうが良い・・・という認識に間違いはありませんでしょうか。 質問が一つ増えてしまいましたが、宜しくお願い致します。

  • Excel2003でマクロを使用してtxt取り込み

    エクセルでマクロを使用して、複数のtxtファイルを取り込みたいのですが うまくいかず困っております。 過去の質問を見ながらやりたい事に近い下記のサンプルマクロを見つけました。 サンプルマクロ-------------------------------------------------------- Sub txt取り込み() Dim OpenFileName As Variant OpenFileName = Application.GetOpenFilename(FileFilter:="テキスト,*.txt?", _ MultiSelect:=True) If IsArray(OpenFileName) Then '''' Else MsgBox "キャンセルしました、OKを押してください" End If End Sub ------------------------------------------------------------------- これだけでは、マクロ実行→ダイアログボックスでtxtFile選択。で終わってしまいます。 ここから下記の「txtFile内容説明」ご参照のうえ、以下の「手順」でtxt取込み出来る様、 ご教授いただけませんでしょうか? 「txtFile内容説明」--------------------------------------------- ・ダイアログボックスで選択したいテキストファイルは最大100個です ・テキストファイルには、カンマで区切られたデータが保存されております テキストファイル例(ファイル名は001.txtから連番で100.txt)  001.txt→"001","A001","B","C",  002.txt→"002","A002","B","C",  003.txt→"003","A003","B","C",   .   .   .  100.txt→"100","A100","B","C", 「txtFile内容説明」ココまで--------------------------------------- 「手順」---------------------------------------------------------------------- (1)ダイアログボックスでテキストファイル複数選択(テキストファイル100個選択したとして) (2)セルR3:R102(R3に001.txt R4に002.txt R5に003.txt … R102に100.txt)を読み込み (3)それぞれのテキストファイルをカンマ区切りで、右セルに区切って取り込み セル配置  R3    S3    T3    U3  R4    S4    T4    U4  R5    S5    T5    U5   .   .   .  R102  S102   T102   U102 上記、セル配置に取り込まれたデータ  001   A001    B     C  002   A002    B     C  003   A003    B     C   .   .   .  100   A100    B     C と、なるようにマクロを作成することは可能でしょうか? その場合、どのような記述になるのか教えていただければ幸いです。 「手順」ココまで------------------------------------------------------------- 予備情報 説明の為、テキストファイル内データを、"003","A003","B","C",と、4データにしておりますが、 実際は16データあり、さらに1データの文字数は10ケタあります。 実際に16データ、文字数10ケタで質問説明を書いたのですが、あまりにわかりにくくなってしまい、 4データとして、文字数も絞らせていただき、質問致しました。 申し訳ございません。 なお、100個のテキストファイルを読み込ませ、セル範囲R3:AG102にデータテーブルを作りたいと 考えております。 説明不足な点ございましたら、ご指摘いただけますでしょうか。 何卒、よろしくお願い致します。

  • アクセス 複数のテキストファイルインポートについて

    アクセス VBAについてです。 DoCmd.TransferTextで複数のテキストファイル(同一フォルダの中、上から順に全て)を取り込み、 テーブル名を一つ一つ順番につけていくことは可能でしょうか?? 例 フォルダダイアログを作ってそのフォルダを指定して フォルダ名をテキストボックスに表示、 その表示されてるフォルダの中身を 別のボタンを押せばインポートできるように、 テキストファイル A1 A2 A3 A4 インポート後のテーブル名 B1 B2 B3 B4 インポート時の定義は全て同一です。 わかりにくくてすみません、 知恵を貸してください

  • Access VBA インポート シート指定

    AccessのVBA を用いて、ExcelからAccessへデータを インポートする際、ダイアログボックスを表示させて Excelのファイルを選択させるようにしています。 これをシート名まで指定させる事は可能でしょうか? ◆シートは枚数が固定されず、都度かわります。 ◆インポートしたいシート数も都度かわります。 ◆1sheet = 1 テーブルにしたいです。 ◆1度の動作で、1sheetのインポートでも、複数でもかまいません。 ◆できれば、ダイアログでファイルを選択した流れで シートまで選択される方法が望ましいです。 ◆Accessのテーブル名もテキストボックスで任意なものが 付けられるようにしたいです。 お知恵をお貸し下さい、何卒よろしくお願いいたします。

  • Accessにエクセルからデータをインポートしたい(VBA)

    Access(2000)のVBAでExcel(2000)からデータをインポートしたいと思います。 詳細は以下の通りです。 フォームでコマンドボタンをクリック時にダイアログボックスが開き、ファイルを指定し、該当のシート(シート名はどのファイルも固定)のデータをアクセスのテーブルにインポートしたい。 どうしたらできるのかここ数日悩んでいます。 よい方法がありましたら教えてください。

  • アクセスファイルの取り込み

    Excel2000を使っています。 外部データの取り込み→新しいデータベースクエリで、データソースの選択からMs Access Datebaseを選び、アクセスファイルをエクセルに取り込みたいと思っています。 クエリウィザードで、最後に、「Excelにデータを返す」を選び、完了を押すと、「Queryの編集を続けますか?」とダイアログボックスが出ます。はいを押すとアクセスが立ち上がりますし、いいえを押すと、最後のExcelのどこにデータを返すのか問われるのがなくなり、結局取り込むことが出来なくなります。 2回目をすると、「Queryの編集を続けますか?」のダイアログボックスは出ません。 これはどういった時に出るものなんでしょうか?宜しくお願い致します。

  • マクロにてaccessへテキストファイルをインポートする方法

    マクロを利用しaccessへテキストファイルをインポートしようとしているのですが、 どのHPを参照しても、 マクロを利用してのテキストインポートはできないみたいなことが書かれてます。 一度、CSVに落として実行するしか方法はないのでしょうか?

  • 【Access97】txtファイルの一括インポート

    txtファイルをAccessへ自動でインポートする方法としてはマクロの”テキスト変換”しか知識がありません。 今回そのtxtファイルが1000個以上あり、一回一回txtファイル名を変えての”テキスト変換”では膨大な時間がかかってしまいます。 ファイル名はすべて「数字4桁.txt」で統一、1つのフォルダ内に保存してありますので、この条件でAccessへ一度に取り込む方法があればご教授ください。 <txtファイル:ヘッダーなし、1ファイルにつき1~100行程度のデータ> 001,"トウキヨウ","東京" 002,"オオサカ","大阪" 003,"ナゴヤ","名古屋" 004,"フクオカ","福岡"   ・   ・   ・ <Accessテーブル:フィールド名はtxtデータの並び順に合わせて作成> ─── ──── ─── 番号   支店カナ 支店名 ─── ──── ───