我正在使用下面的 VBA 代码在 Excel 中打开一个 csv 文件(代码模拟 Data\Text to Columns - 命令)。在代码中,必须为属性TextFileColumnDataTypes指定一个数组,它为 csv 文件中的每一列指定一种数据格式(2 = 文本格式)。
但是,由于我不知道 csv 文件将有多少列,我想为 csv 文件中的所有列指定格式 2(= 文本格式)。现在的问题是我只能为固定数量的列指定数据格式(在下面的示例中为 3 列)。
非常感谢解决该问题的任何帮助:)
================================================
这是我正在使用的完整代码:
With ThisWorkbook.Worksheets(1).QueryTables.Add(Connection:= _
"TEXT;C:\test.csv", Destination _
:=ThisWorkbook.Worksheets(1).Range("$A$1"))
.name = "Query Table from Csv"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(2, 2, 2)
.TextFileDecimalSeparator = "."
.TextFileThousandsSeparator = ","
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
.Delete
End With