2015-10-14 95 views
0

我有一個故障排除用VBA爲Excel:當我使用VBA:QueryTables:怎麼沒有考慮到TextFileOtherDelimiter

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" 

我的問題:如何指定此導入應該只能用「,」分隔符而不是其他任何一個(不管其他任何其他導入是否可以在機器上出現過?)

回答

0

爲了將來的參考,我沒有找到強制其他分隔符的方式,但以下兩個解決方法似乎工作:

  • 迫使otherdelimiter相同的值作爲第一個(如果你沒有第一限定將無法正常工作)

    .TextFileOtherDelimiter = "," 
    
  • 使用定界符永遠不會出現在文件中(如果是紐約字符,但第一個分隔符可以出現在文件中)

    .TextFileOtherDelimiter = "|" 
    

由於這兩個兩個變通的解決了在一般情況下這個問題,我不把它標記爲適合