
Access2003でインポートをマクロで簡単に自動化したいです。
今はAccess2003でインポートをマクロにしたい時は、インポートする画面でインポート定義を作っておいて、マクロのテキスト変換でマクロにしています。
これだと、テキスト変換の画面でインポート元のフルパスを指定して、インポート先のテーブルのファイル名を指定しなくてはいけません。
インポート定義を作ってるのだから、定義と同じインポート元、インポート先で簡単にマクロでインポートを自動化する方法はありませんか?
マクロにしたいインポートとエクスポートが結構な数あるので、マクロを作る時にいちいちフルパスとファイル名をコピーしてくるのが大変です。
簡単にインポートをマクロにする方法がありましたら、教えてください。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
VBA(=マクロでは「プロシージャの実行」)、をイメージしていたので
同じ定義を違うテーブルへインポートするときは、
DoCmd.TransferText acImportDelim, "インポート定義01", "tbl01", "file.csv", False, ""
DoCmd.TransferText acImportDelim, "インポート定義01", "tbl02", "file.csv", False, ""
DoCmd.TransferText acImportDelim, "インポート定義01", "tbl03", "file.csv", False, ""
DoCmd.TransferText acImportDelim, "インポート定義01", "tbl04", "file.csv", False, ""
という感じです。
"tbl01"~"tbl04"の部分を変数にしてしまえばいくらでも、と
思いましたが、これはできませんか?。
"tbl01"~"tbl04"は一つの文字列としてとらえれば
設定テーブルの1項目の値となるので、
これも画面からいろいろ修正するにはいいかな、というところです。
いずれにしてもVBAなら少しは楽になると思います。
※実際テストはしていないので、頭の中の想定の範囲です。
layyさん、お礼が遅くなって申し訳ありません。
3回もご回答下さりありがとうございます。
VBAの詳しい書き方まで載せて下さって、ありがとうございます。
今回は仕事で使うために質問して、仕事を引き継ぎ時の問題もあり、周りのパソコンレベルも考慮すると、VBAは避けたいので今回はVBAを使わないで済ませたいところです。
Access2007みたいに保存済みインポートみたいにインポート定義で簡単にできないかなと思い質問しました。
しかし、教えていただいたVBAの
>TransferText acImportDelim
の部分を変えれば、エクスポートにも使えそうですね。
VBAは色々応用性が広そうなので、自分用に使う時やそれ以外でもVBAではできないかとAccessだけではなくExcelでも考えていきたいです。
できること(世界)がちょっと広がっていざという時に対処の幅が広がります。ありがとうございました。
No.2
- 回答日時:
マクロ内の「インポート元フルパスやインポート先テーブル名」は固定にして
直前、直後を任意の値に変えるという手もできるかもしれません。
複数あるフルパスやテーブル名も一つの値ですから、
マクロ処理用設定テーブルの1レコードとして作るとか。
layyさん。
2回も回答して下さりありがとうございます。
お礼が遅れて申し訳ありません。
> マクロ内の「インポート元フルパスやインポート先テーブル名」は固定にして
> 直前、直後を任意の値に変えるという手もできるかもしれません。
インポートのためにTEMP(一時)ファイルを作る方法でしょうか。
今回は後からの参照用のためインポート先が12テーブルに分かれていたりで1つのインポート先、インポート元という手は使えませんでしたが、インポート一時テーブルを作る方法は大変参考になりました。
これからAccessのファイルを作る時に、このインポートはインポート一時ファイルを作ってすませられるのではという視点を持つことができました。ありがとうございます。
> 複数あるフルパスやテーブル名も一つの値ですから、
> マクロ処理用設定テーブルの1レコードとして作るとか。
これはちょっと考えもつきもしませんでした。
仰っていることは、
【テーブルA】
フィールド[テーブル名]
インポート先テーブル名
フィールド[ファイル名]
C:\Documents and Settings\User\My Documents\test.csv
としておいて、マクロのテキスト変換でテーブル名、ファイル名の部分がテーブルAのテーブル名、ファイル名を参照するようにしてやればいいのだと私は理解しました。
ちょっとやり方は今はわかりませんが、応用が効きそうですね。フォームでフィールドを書き換えて、違う名前のファイル名も簡単にインポートできたり好きな名前でエクスポートできたり。
新たな視点をありがとうございます。ちょっと世界が広がりました。
No.1
- 回答日時:
マクロをモジュールで保存し、プロシジャでの実行、の動きに変えましょう。
ファイルの指定を変数で与えることができるようになります。
cde_cdelayyさん、返信遅くなりまして申し訳ありません。
回答ありがとうございます。
Access2003のインポートマクロを作るのは仕事で使用するため、VBAを持ち込むとうまく引き継げないため、できればVBAを持ち込まないでできると最高です。
Access2007だと保存済みのインポートは、インポート元フルパスやインポート先テーブル名をもう一度書かなくてもインポートマクロを作れるので、「Access2003でもインポート元フルパスなどをいちいち入力しなくてもできるんじゃないか」と考えて、質問しました。
しかし、教えていただいた方法なら1つのインポートマクロだけ作れば、後はコピペでちょっといじれば簡単にできそうで、ためになりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- Outlook(アウトルック) 【 Windows 10 】アドレス帳に正しくインポートを完了させたい。 3 2023/04/23 13:41
- Access(アクセス) Accessにインポートした複数のテーブルを表示させる方法が分かりません。 1 2023/01/30 20:22
- Access(アクセス) スキルシートのエクセルの項目に 2 2023/04/04 22:41
- Access(アクセス) Access2016のExcelインポートの機能のことで教えてください 1 2022/09/11 14:58
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- その他(メールソフト・メールサービス) Thunderbirdの連絡先をコピーしたい 3 2023/06/21 15:47
- Chrome(クローム) ブラウザのブックマークの同期の仕方についてお尋ねします。 1 2022/08/10 16:44
- Excel(エクセル) 記録マクロのみでできますか? 7 2022/08/07 20:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
マクロの連続印刷が突然不可能...
-
特定のPCだけ動作しないVBAマク...
-
Excel_マクロ_現在開いているシ...
-
一つのTeratermのマクロで複数...
-
ExcelのVBA。public変数の値が...
-
TERA TERMを隠す方法
-
Excel マクロ VBA プロシー...
-
メッセージボックスのOKボタ...
-
Excel・Word リサーチ機能を無...
-
非表示の列をすべて削除するマクロ
-
Excelのセル値に基づいて図形の...
-
エクセルに張り付けた写真のフ...
-
エクセルで別のセルにあるふり...
-
エクセル VBA実行中のApplicati...
-
特定文字のある行の前に空白行...
-
エクセルマクロでワードの一ペ...
-
【EXCEL VBA】オートシェイプを...
-
マクロ実行時エラー
-
wordを起動した際に特定のペー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
Excel・Word リサーチ機能を無...
-
エクセルで特定の列が0表示の場...
-
Excel_マクロ_現在開いているシ...
-
一つのTeratermのマクロで複数...
-
メッセージボックスのOKボタ...
-
Excel マクロ VBA プロシー...
-
ExcelのVBA。public変数の値が...
-
エクセルで別のセルにあるふり...
-
エクセルに張り付けた写真のフ...
-
Excel マクロでShearePoint先の...
-
TERA TERMを隠す方法
-
Excelのセル値に基づいて図形の...
-
Excel VBAからAccessマクロを実...
-
ExcelVBAでPDFを閉じるソース
-
マクロ実行時、ユーザーフォー...
-
オートフィルターとExcelマクロ...
-
wordを起動した際に特定のペー...
-
特定文字のある行の前に空白行...
-
エクセルで縦に並んだデータを...
おすすめ情報