Access VBA の DoCmd.TransferText
メソッドは、テキストファイル(CSVやTXT)とAccess間のインポート/エクスポートを行うメソッドです。定型処理やボタン操作でCSVファイルを取り扱いたいときに便利です。
目次
🔹 基本構文
DoCmd.TransferText TransferType, SpecificationName, TableName, FileName, HasFieldNames, HTMLTableName, CodePage
🔸 引数の解説
引数名 | 型 | 説明 |
---|---|---|
TransferType | AcTextTransferType | 操作の種類(例:インポート・エクスポート) |
SpecificationName | String (省略可) | インポート/エクスポート仕様名(保存済みの仕様を使用する場合) |
TableName | String | インポート先またはエクスポート元のテーブル/クエリ名 |
FileName | String | テキストファイルのパス(フルパス) |
HasFieldNames | Boolean (省略可) | 最初の行にフィールド名があるかどうか(True/False) |
HTMLTableName | String (省略可) | HTML形式のとき使用されるテーブル名 |
CodePage | Variant (省略可) | テキストファイルの文字コード(例:65001 = UTF-8) |
🔸 AcTextTransferType
の主な定数
定数名 | 値 | 説明 |
---|---|---|
acImportDelim | 0 | 区切り記号付きテキストファイルをインポート |
acExportDelim | 2 | 区切り記号付きテキストファイルをエクスポート |
acImportFixed | 1 | 固定長テキストをインポート |
acExportFixed | 3 | 固定長テキストをエクスポート |
acExportHTML | 4 | HTMLファイルとしてエクスポート |
acImportHTML | 5 | HTMLテーブルをインポート |
🔹 使用例
✅ CSVファイルのインポート(ヘッダーあり)
DoCmd.TransferText acImportDelim, , "tblCustomers", "C:\data\customers.csv", True
✅ テーブルをCSVにエクスポート(ヘッダーあり)
DoCmd.TransferText acExportDelim, , "tblOrders", "C:\export\orders.csv", True
✅ 補足
- **仕様名(SpecificationName)**を使うと、区切り文字、フィールドの形式など細かく設定できます。
CodePage
を指定することで文字化け対策も可能(例:UTF-8 →65001
)。