こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Access VBA CSV取込でファイル指定

いつもお世話になっております、この度もよろしくお願い致します。

作成環境:Access 2003 win XP

CSVファイルをデータベース内のテーブルにインポートする、というプログラムを書いてるのですが、

Private Sub テスト()

DoCmd.TransferText acImportDelim, "インポート定義", _
"tblImported", "C:\Temp.csv", True

End Sub

Cドライブにあるファイルのみしかインポートできず、これをダイアログボックスを呼び出してファイルを指定することなどはできるのでしょうか?

検索を行いまして、ctlDlg.Filename~などメソッドを使うといいなど記載されている記事もよく見かけますが、どのように利用すればいいのか少し戸惑っております^^;

ご多用の中大変申し訳ありませんが、ご回答いただければ幸いでございます。
よろしくお願い致します。

投稿日時 - 2012-02-26 09:18:57

QNo.7327879

暇なときに回答ください

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

標準モジュールのModuleに以下の関数を追加。

> http://www.f3.dion.ne.jp/~element/msaccess/AcTipsGetFileName.html を参考

Function TestGetFileName()

Const ENABLE_WIZHOOK = 51488399
Const DISABLE_WIZHOOK = 0
Dim strFile As String
Dim intResult As Integer
WizHook.Key = ENABLE_WIZHOOK ' WizHook 有効化
intResult = WizHook.GetFileName( _
0, "", "", "", strFile, "", _
"CSVファイル (*.csv)|*.*", _
0, 0, 0, True _
)
WizHook.Key = DISABLE_WIZHOOK ' WizHook 無効化
TestGetFileName = strFile

End Function

呼び出し側は

Dim s As String

s = TestGetFileName

If s = "" Or IsNull(s) Then Exit Sub ’キャンセルされた場合

で、私は(アクセス2010)使っています。


  DoCmd.TransferText acImportDelim, "インポート定義", _
  "tblImported", s, True

参考URL:http://www.f3.dion.ne.jp/~element/msaccess/AcTipsGetFileName.html

投稿日時 - 2012-02-28 21:15:33

ANo.1

こちらが参考になるかと思います。
http://www.accessclub.jp/bbs5/0016/vba4679.html

他を探すなら
「Access VBA CSV インポート ファイル指定」 でググればいろいろ出てくるでしょう。

投稿日時 - 2012-02-27 16:12:24

あなたにオススメの質問