用于将 CSV 读取为文本的 Excel 宏

问题描述 投票:0回答:1

Workbooks.OpenText fileName:=readFile, DataType:=xlDelimited, Comma:=True
当使用此代码读取csv但日期没有更改为文本时。那么如何解决呢?问题从“9月12日”变为“2024/09/12”。 我只想‘9月12日’

我想按原样将 csv 作为文本读取,而不是更改日期格式。

excel vba
1个回答
0
投票

请尝试通过以下方式为所有文件列添加

FieldInfo

Sub openCSVAsTextAllCols()
 Dim ReadFile As String:  ReadFile = "your file full name" ' use here the real CSV file full name
 
 Dim arrCSV, ColsNo As Long, arrField(), i As Long
 arrCSV = Split(CreateObject("Scripting.FileSystemObject").OpenTextFile(ReadFile, 1).ReadAll, vbCrLf)
 
 ColsNo = UBound(Split(arrCSV(0), ","))  'the number of file columns
 ReDim arrField(ColsNo)
 
 For i = 0 To UBound(arrField)
   arrField(i) = Array(1, 2) 'build the array to open all columns as text
 Next
 
 Workbooks.OpenText FileName:=ReadFile, DataType:=xlDelimited, Comma:=True, FieldInfo:=arrField()
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.