Access VBAでテキストファイルへエクスポートするには、DoCmd.TransferTextメソッドを使用します。
そして、引数TransferTypeにacExportDelimを使います。
[構文]
式.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とF2の二つのフィールドがあります。
・エクスポートしたテキストファイルをメモ帳で開いた画面
■ Access VBA 実行コード
Option Compare Database
'ファイル選択ダイアログ
Public Function SelectFile_FileDialog() As String
Dim dlgfolder As FileDialog
Application.FileDialog(msoFileDialogSaveAs).Title = "エクスポート先ファイルを選択してください"
Application.FileDialog(msoFileDialogSaveAs).InitialFileName = "c:\"
Application.FileDialog(msoFileDialogSaveAs).AllowMultiSelect = False
If Application.FileDialog(msoFileDialogSaveAs).show = -1 Then
'ファイルが選択
SelectFile_FileDialog = Application.FileDialog(msoFileDialogSaveAs).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 acExportDelim, , "T_新潟県2", sfina
End If
End Sub