一、测试文件Test.txt
二、新建宏
三、VBA脚本
Sub UserOpenText()
Workbooks.OpenText _
Filename:=ThisWorkbook.Path & "\Test.txt", _
StartRow:=2, _
DataType:=xlDelimited, _
Other:=True, _
OtherChar:="|", _
FieldInfo:=Array(Array(1, 9), Array(2, 1), Array(3, 1), Array(4, 5))
ActiveWorkbook.Sheets(1).Columns("A:C").AutoFit
End Sub
四、运行测试
OpenText方法语法如下:
OpenText(FileName, Origin, StartRow, DataType, TextQualifier, ConsecutiveD elim iter, Tab, Semicolon, Comma, Space, Other, OtherChar, FieldInfo, TextVisualLayout, Decimal Separa tor, ThousandsSeparator, TrailingMinusNumbers, Local)
FileName: 文本文件名
StartRow: 指定文本文件中开始输入的行数
DataType: 指定按分隔符号对文本进行分列
Other: 设置为True指示文本进行分开时按照参数OtherChar指定的字符为分隔符号
FieldInfo: 包含各个数据列分析信息的数组,取决于参数DataType。如果数据由分隔符分隔,该参数为由两元素数组组成的数组,其中每个两元素数组指定一个特定列的转换选项。第1个元素为列标(从1开始),第2个元素指定如何分析该列,可以为下表列举的xlColumnDataType常量之一。
xlColumnDataType常量
| xlColumnDataType常量 | 值 | 含义 |
| xlGeneralFormat | 1 | 常规 |
| xlTextFormat | 2 | 文本 |
| xlMDYFormat | 3 | MDY 日期 |
| xlDMYFormat | 4 | DMY 日期 |
| xlYMDFormat | 5 | YMD 日期 |
| xlMYDFormat | 6 | MYD 日期 |
| xlDYMFormat | 7 | DYM 日期 |
| xlYDMFormat | 8 | YDM 日期 |
| xlEMDFormat | 10 | EMD 日期 |
| xlSkipColumn | 9 | 忽略列 |
AutoFit方法调整列宽为适当的值。