AccessでCSVを指定してインポートする時のVBA


こんにちは脇村です。僕のブログでは、本業での実務上のEXCEL、ACCESSマクロ&VBAの使えそうなコードの紹介、コールドリーディングの実践例、人生の難易度を下げる方法、自己啓発コラム最近読んでいいなと思った本等について、主に発信していきたいと思っています。

今回はAccess VBAについて発信させてください。
こういったプログラム系統は何を実現したいかを強く頭に描くことが実現への第一歩につながります。
少しずつ発信していってその手助けができれば幸いだと思っています。
今回はAccessでCSVを指定してインポートする時のVBAについてです。

Option Compare Database
Option Explicit

Sub CSVを指定してインポート()

'ファイル選択
'[参照] ダイアログ ボックスの FileDialog オブジェクトを作成します。
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)                                                      

'選択した各アイテムのパスを保存す変数を宣言します。
Dim vrtSelectedItem As Variant
'プロパティの設定                                                        
With fd                                                        
.Title = "サンプルダイアログ(○○○○)"                    '①                                   
'フィルターの設定                                                        
.Filters.Clear                                                        
.Filters.Add "テキスト", "*.txt; *.csv"                                                        
.Filters.Add "エクセル", "*.xls"                                                        
.Filters.Add "Access", "*.mdb"                                                        
.Filters.Add "イメージ", "*.gif; *.jpg; *.jpeg"                                                        
.Filters.Add "すべてのファイル", "*.*"                                                        
.FilterIndex = 5                                                        
.InitialView = msoFileDialogViewDetails                                                        
.InitialFileName = CreateObject("WScript.Shell").SpecialFolders("Desktop")                             '②                       
.AllowMultiSelect = True                                                        

'[参照] ダイアログ ボックスを表示します。                                                        
If .Show = -1 Then                                                        
'ユーザーがアクション ボタンをクリックした場合                                                        

    For Each vrtSelectedItem In .SelectedItems                                                        

        '//ヘッダー情報のあるCSVの取込み方法'                                                        
        DoCmd.TransferText acImportDelim, , "T_○○_csv", vrtSelectedItem, False    '//Trueはヘッダーありとして読み込む'                                                '③       

    Next vrtSelectedItem                                                        

Else                                                        
'ユーザーが [キャンセル] をクリックした場合                                                        
Exit Sub                                                        
End If                                                        
End With                                                        

'オブジェクトの変数に Nothing を設定します。                                                        
Set fd = Nothing                                                        

End Sub

①は○○○○に好きな文面を打ってください。
②は勝手にデスクトップを指定するプログラムです。 違う階層を指定する場合は .InitialFileName =”パス名”と書き込んでください。
③は最後をFalseにすると指定したCSVを”T_○○_csvテーブルという名前でヘッダーなしで読み込みます。

以上、 AccessでCSVを指定してインポートする時のVBAでした。変更する箇所は①、②、③だけです。後はこのまま使ってください。このプログラムは非常に汎用性が高いので、是非とも有効活用してください。次回もまたよろしくお願いします。

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
今回の記事はこれで締め切らせていただきます。 脇村の日常で役に立つ技術ー雑記ブログ記事、次回もよろしくお願い致します。

末筆ながら、本サイトのカテゴリーごとの記事です。
各記事の一番下の方に、関連記事のリンクが貼ってあるので、興味があれば参照お願い致します。
せどりで月商70万円達成する方法(ノーブランド品)
ダイナマイトモチベーションDM6「自分を愛すること」
日常のつぶやき―脇村(24年2月14日)
今の時代に必要な考え方(人間関係のトラブルを防ぐ方法)
コールドリーディング実践例その48
コールドリーディング講義(コールドリーディングの使えるフレーズ集)
おすすめ本「君しかいない!と言われる人になる」
今の時代を生き抜くために-脇村( 正社員と非正社員はどちらが得か)
Excel VBA L列規格半角文字にするVBA
電話占いの現場での嫌な質問が来た時について

Kindle本 (電子書籍)も出版しております。
タイトル:どんな女も口説き落とす話術!コールドリーディングの秘技
リンク: https://www.amazon.co.jp/ebook/dp/B0DD8R2SP5/
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

水道直結式 冷水・温水・炭酸水ウォーターサーバー【PSJ SPARKLING】

関連記事
Accessでカンマ区切りのCSVを書き出す時のVBA


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA