Microsoft Excel

Herbers Excel/VBA-Archiv

Import von Ascii Files

Betrifft: Import von Ascii Files von: Rafet
Geschrieben am: 17.09.2014 10:50:17

Hallo,

ich hätte ein kleines Porblem, bin im Bereich VBA recht neu und deswegen hätte ich an euch ein paar fragen.

Habe im Office Forum ein passenden Thread zu meiner Teilaufgabe gefunden.
Dies wäre der folgende Code:

Sub Messwerte() 

    Dim strFileName As String 
    Dim strPath As String 
    Dim intFileNr As Integer 
    Dim strEingabeString As String 
    Dim lngSatznummer As Long 
    Dim lngZeile As Long 
    Dim bolErsterMesswert As Boolean 
    Dim strBlattName As String 
    Dim intBlattnummer As Integer 
    Dim ws As Worksheet 
     
    strPath = "D:\Temp\" 'der Pfad, in dem die ASC-Files stehen 
    strFileName = Dir(strPath & "*.asc") 
     
    If strFileName <> "" Then 
       intBlattnummer = 1 
       strBlattName = "Blatt-" & Format(intBlattnummer, "00") 
       lngZeile = 1 
       Set ws = ThisWorkbook.Worksheets.Add(After:=Worksheets(ThisWorkbook.Worksheets.Count)) 
       ws.Name = strBlattName 
       Do Until strFileName = "" 
          bolErsterMesswert = False 
          intFileNr = FreeFile 
          Open (strPath & strFileName) For Input As #intFileNr 
          Do While Not EOF(intFileNr) 
             Line Input #intFileNr, strEingabeString 
             If Not bolErsterMesswert Then 
                If IsNumeric(Left(strEingabeString, 5)) Then 
                   bolErsterMesswert = True 
                   lngSatznummer = 0 
                End If 
             End If 
               
             If bolErsterMesswert Then 
                If lngSatznummer Mod 1 = 0 Then 
                   ws.Cells(lngZeile, 1).Value = strEingabeString 
                   lngZeile = lngZeile + 1 
                End If 
                lngSatznummer = lngSatznummer + 1 
             End If 
                                 
          Loop 
          Close intFileNr 
          strFileName = Dir 
       Loop 
    End If 
       
    If ws.Range("A1") <> "" Then 
       ws.Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ 
           TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _ 
           Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _ 
           :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1)), TrailingMinusNumbers:= _
True 
    End If 
     
    Set ws = Nothing 

End Sub

Das Code ermöglicht mir einen .asc File mit den Messwerten ins Excel zu importieren, welches auch soweit funktioniert.
Dabei hätte ich aber ein Problem, nach dem Debuggen wird im Excel an der 1. Spalte und in der 1. Zeile also bei A1 das Wert nach Rechts verschoben. Nach langer rumprobieren habe ich es leider nicht rasubekommen.


Ein weiteres problem ist es, dieser Code erzeugt mir eine neue Tabelle erstellt, kann ich auch festlegen in welcher Tabelle und ab welchem Position die Werte eingetragen werden sollen?

Hoffe ihr könnt mir weiter helfen.

Gruß Rafet

  

Betrifft: AW: Frage ist auch in anderen Foren von: Daniel
Geschrieben am: 17.09.2014 10:58:38

gestellt worden und wird dort bearbeitet.
Gruß Daniel


 

Beiträge aus den Excel-Beispielen zum Thema "Import von Ascii Files"