Excel VBA查询表-防止格式化为日期

Excel VBA查询表-防止格式化为日期,excel,vba,formatting,Excel,Vba,Formatting,我在格式方面有一个很大的问题。我有一个包含一些数据的.csv文件。还有一些数据,比如1.12.19的版本号。它总是以日期的形式出现。但我不想 Sheets("Sheetname").Cells.Clear Sheets("Sheetname").Cells.NumberFormat = "@" 首先,我删除单元格中的所有数据。单元格的格式为文本。如果我输入像1.12.19这样的值,它将不会像应该的那样格式化它。但是有了查询表,它会的!

我在格式方面有一个很大的问题。我有一个包含一些数据的.csv文件。还有一些数据,比如1.12.19的版本号。它总是以日期的形式出现。但我不想

Sheets("Sheetname").Cells.Clear
Sheets("Sheetname").Cells.NumberFormat = "@"
首先,我删除单元格中的所有数据。单元格的格式为文本。如果我输入像1.12.19这样的值,它将不会像应该的那样格式化它。但是有了查询表,它会的!我不明白为什么?!求你了,我需要帮助!代码如下:

    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;" & strFileToOpen _
        , Destination:=Range("$A$1"))
        .Name = "QueryPhone"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = False
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 437
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = False
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = True
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With

修改
.TextFileColumnDataTypes
常量。您最好设置
xlTextFormat
(=2),而不是
xlGeneralFormat
(=1)。见此: