CSV导入电子表格在QueryTables方法上失败

时间:2013-02-13 18:07:02

标签: excel-vba excel-2010 vba excel

我需要从CSV文件导入数据。我在下面记录了宏,但修改了“QueryTablesAdd”结构,以便连接变量“FileLoc”中包含的文件位置。该宏工作,直到它遇到.Refresh BackgroundQuery:= false方法,并在那时失败。 如果我重新使用该方法,代码实际上会顺利运行而不会失败。 麻烦的是,它实际上并没有导入数据。

有没有人有任何有用的提示?

With ActiveSheet.QueryTables.Add(Connection:= _
    "TEXT;" & FileLoc & Chr(34), Destination:=Range("$A$1"))
    .Name = "CDSTATS"
    .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
    .TextFileCommaDelimiter = True
    .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1)
    .TextFileTrailingMinusNumbers = True
    .Refresh BackgroundQuery:=False
End With

1 个答案:

答案 0 :(得分:0)

为了回答:

  

传递变量时,即使是字符串变量

,也不需要引号

per @Scott Holtzman。