◆形式を指定してテキストファイルを開く
カンマ区切りられたテキストファイルのそれぞれのデータは、数値や文字列や日付、
それに不要なデータもあります。
読み込み時に形式を指定してテキストファイルを開くことが出来ます。
Sub Read_TextFormat()
Dim File種類, Prompt, Item As String
Dim FileNamePath As Variant
File種類 = "テキスト ファイル (*.txt),*.txt"
Prompt = "テキスト ファイルを選択してください"
FileNamePath = SelectFileNamePath(File種類, Prompt)
If FileNamePath = False Then
End
End If
Workbooks.OpenText Filename:=FileNamePath, _
DataType:=xlDelimited, comma:=True, _
fieldinfo:=Array(Array(1, 2), Array(2, 1), Array(3, 9), _
Array(4, 5), Array(6, 2))
End Sub
Function SelectFileNamePath(File種類, Prompt) As Variant
SelectFileNamePath = Application.GetOpenFilename(File種類, ,Prompt)
End Function
Array関数は、Array(何番目のデータか(列番号)、変換する形式) と記述します。
以下に変換する形式を表にまとめてあります。
数値 | 定数 | 変換する形式 |
1 | xlGeneralFormat | 一般 |
2 | xlTextFormat | 文字列 |
3 | xlMDYFormat | MDY(月日年)形式の日付 |
4 | xlDMYFormat | DMY(日月年)形式の日付 |
5 | xlYMDFormat | YMD(年月日)形式の日付 |
6 | xlMYDFormat | MYD(月年日)形式の日付 |
7 | xlDYMFormat | DYM(日年月)形式の日付 |
8 | xlYDMFormat | YDM(年日月)形式の日付 |
9 | xlSkipColumn | スキップ・読み込まない |
10 | xlEMDFormat | EMD(台湾年月日)形式の日付 |