使用VBA在Excel 2010中导入包含Unicode的文本文件

使用VBA在Excel 2010中导入包含Unicode的文本文件,vba,excel-2013,Vba,Excel 2013,这里有个奇怪的例子。这是在Excel 2013中导入包含Unicode字符的文本文件后,使用Record宏自动生成的VBA代码: With ActiveSheet.QueryTables.Add(Connection:= _ "TEXT;C:\Folder1\Sampletxtfile.txt", _ Destination:=Range("$A$1")) .CommandType = 0 .Name = "Sampletxtfil

这里有个奇怪的例子。这是在Excel 2013中导入包含Unicode字符的文本文件后,使用Record宏自动生成的VBA代码:

With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;C:\Folder1\Sampletxtfile.txt", _
        Destination:=Range("$A$1"))
        .CommandType = 0
        .Name = "Sampletxtfile"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 65001
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = True
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
问题是:如果我使用此代码并自己运行它,它会在第行给出一个错误无效的过程调用或参数: .命令类型=0
有人帮我纠正一下吗?自动生成的代码不应该因为指示正确的语法而非常有用吗?我通常在MSDN中关于QueryTable.CommandType属性的条目中将其用于…

仅当查询表或数据透视表缓存的QueryType属性值为xlOLEDBQuery时,才能设置CommandType属性


您没有进行OLEDB查询,因此查询类型是其他类型。因为它是其他的东西,所以您无法设置CommandType,所以只需删除它。

您是否尝试过删除。命令行