Access VBAでテキストファイルをインポートするには、DoCmd.TransferTextメソッドを使用します。
[構文]
式.TransferText(TransferType, SpecificationName, TableName, FileName, HasFieldNames, HTMLTableName, CodePage)
[引数]
TransferType : AcTextTransferType変換の種類を指定します。
[ 定数 ]
- acExportDelim カンマ、タブなど区切り記号つきエクスポート
- acExportFixed 固定長エクスポート
- acExportHTML HTMLエクスポート
- acExportMerge Word差し込みデータエクスポート
- acImportDelim カンマ、タブなど区切り記号つきインポート(既定値)
- acImportFixed 固定長インポート
- acImportHTML HTMLインポート
- acLinkDelim カンマ、タブなど区切り記号つきリンク
- acLinkFixed 固定長リンク
- acLinkHTML HTMLリンク
SpecificationName : エクスポートの定義名
TableName : テーブルの名前
FileName : テキストファイル名
HasFieldNames : テキストファイルの1行目をフィールド名として使用する場合は、Trueに設定します。
HTMLTableName : HTMLファイルをインポートする場合指定します。
CodePage オプション : コードページの文字セットを示す長整数型のを指定します。
■ Accessサンプルソフト実行画面
「テキストファイルのインポート」ボタンをクリックすると、ファイル選択ダイアログが開きますので、インポートするテキストファイルを選択します。
・インポートするテキストファイルの内容
阿賀野市
阿賀町
粟島浦村
出雲崎町
糸魚川市
魚沼市
小千谷市
行柏崎市
加茂市
刈羽村
川口町
五泉市
・インポートしたテーブル
テーブルが作成され、F1フィールドにデータが入っています。
・インポートするテキストファイルの内容(コンマで区切っています)
新潟県,阿賀野市
新潟県,阿賀町
新潟県,粟島浦村
新潟県,出雲崎町
新潟県,糸魚川市
新潟県,魚沼市
新潟県,小千谷市
新潟県,行柏崎市
新潟県,加茂市
新潟県,刈羽村
新潟県,川口町
新潟県,五泉市
・インポートしたテーブル
テーブルが作成され、F1フィールドとF2フィールドにデータが入っています。
■ Access VBA 実行コード
Option Compare Database
'ファイル選択ダイアログ
Public Function SelectFile_FileDialog() As String
Dim dlgfolder As FileDialog
Application.FileDialog(msoFileDialogFilePicker).Title = "ファイルを選択してください"
Application.FileDialog(msoFileDialogFilePicker).InitialFileName = "c:\"
Application.FileDialog(msoFileDialogFilePicker).AllowMultiSelect = False
If Application.FileDialog(msoFileDialogFilePicker).show = -1 Then
'ファイルが選択
SelectFile_FileDialog = Application.FileDialog(msoFileDialogFilePicker).SelectedItems(1)
Else
SelectFile_FileDialog = ""
End If
End Function
Private Sub コマンド0_Click()
Dim sfina As String
'ファイル選択ダイアログ
sfina = SelectFile_FileDialog
If sfina <> "" Then
'ファイルが選択されればインポート
DoCmd.TransferText acImportDelim, , "T_新潟県2", sfina
End If
End Sub