VBA:QueryTables:如何不考虑TextFileOtherDelimiter

时间:2015-10-14 19:50:29

标签: vba excel-vba excel

我使用VBA for Excel进行了故障排除:当我使用

With ActiveSheet.QueryTables.Add(Connection:=ConnString, Destination:=SomeRange)
    .Name = _
    " "
    .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 = False
    .TextFileSemicolonDelimiter = False
    .TextFileCommaDelimiter = True
    .TextFileSpaceDelimiter = False
    .TextFileColumnDataTypes = Array(1)
    .TextFileDecimalSeparator = ","
    .TextFileTrailingMinusNumbers = True
    .Refresh BackgroundQuery:=False
End With

导入请求会自动在此导入中携带"其他分隔符"我要求手动导入。

即。我使用" - "手动导入文件。作为分隔符,宏的行为就像它包含行:

.TextFileOtherDelimiter = "-"

我尝试使用

.TextFileOtherDelimiter = False

但它不起作用,因为它表现为

.TextFileOtherDelimiter = "F"

我的问题:如何指定只能使用","解析此导入?分隔符,而不是任何其他分隔符(无论之前可能在机器上发生的任何其他导入?)

1 个答案:

答案 0 :(得分:0)

为了将来参考,我没有找到强制没有其他分隔符的方法,但以下两种解决方法似乎有效:

  • 强制otherdelimiter与第一个相同的值(如果没有第一个分隔符则不起作用)

    .TextFileOtherDelimiter = ","
    
  • 使用从未出现在文件中的分隔符(如果有任何字符,但第一个分隔符可能出现在文件中,则无效)

    .TextFileOtherDelimiter = "|"
    

由于这两种解决方法都没有解决一般情况下的问题,我没有将其标记为合适