2016-08-09 10 views
0

ich unten Programm Batch-Konvertierung von Text muß Excel (.xlsx)Batch-Konvertierung von Text-Dateien in Excel XLSX und konvertiert Text in Spalten mit VBA

Sub LoopAllFiles() 

    Dim sPath As String, sDir As String 

    sPath = "C:\Users\DNA\Desktop\Test Convert\" 

    If Right(sPath, 1) <> "\" Then sPath = sPath & "\" 

    sDir = Dir$(sPath & "*.txt", vbNormal) 
    Do Until Len(sDir) = 0 
     Workbooks.Open (sPath & sDir) 
     With ActiveWorkbook 
      .SaveAs Filename:=Left(.FullName, InStrRev(.FullName, ".")) & "xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False 
      .Close 
     End With 

     sDir = Dir$ 
    Loop 

End Sub 

Allerdings habe ich Problem Text in Spalten zu konvertieren Rohr mit Trennzeichen. Ich habe einige Syntax wie unten entwickelt, aber ich bin mir nicht sicher, wie man es mit den Konverterskripten kombiniert.

Selection.TextToColumns DataType:=xlDelimited, _ TextQualifier:=xlTextQualifierNone, Other:=True, _ 
OtherChar:="|", FieldInfo:=xlTextFormat 

Mai bitte alle bitte helfen.

Vielen Dank.

Antwort

0

Versuchen OpenText statt Open, here für die ausführliche Referenz.

Workbooks.OpenText filename:=sPath & sDir, dataType:=xlDelimited, tab:=True, Other:=True, OtherChar:="|" 
0

Versuchen mit unter

Sub LoopAllFiles() 
    Dim sPath As String, sDir As String 
    sPath = "C:\work\" 
    If Right(sPath, 1) <> "\" Then sPath = sPath & "\" 
    sDir = Dir$(sPath & "*.txt", vbNormal) 
    Do Until Len(sDir) = 0 
     Workbooks.Open (sPath & sDir) 
     With ActiveWorkbook 
      Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ 
       TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _ 
       Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _ 
       :="|", FieldInfo:=Array(1, 1), TrailingMinusNumbers:=True 
      .SaveAs Filename:=Left(.FullName, InStrRev(.FullName, ".")) & "xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False 
      .Close 
     End With 
     sDir = Dir$ 
    Loop 
End Sub 
Verwandte Themen