Thema Datum  Von Nutzer Rating
Antwort
12.06.2014 19:23:41 Gast36616
NotSolved
Blau Textdateien auslesen
12.06.2014 22:08:30 Gast19350
NotSolved
12.06.2014 23:06:10 Gast35197
NotSolved
18.06.2014 15:32:55 Gast51418
NotSolved
19.06.2014 00:30:58 Gast68463
NotSolved
07.07.2014 11:13:51 Gast89630
NotSolved
07.07.2014 17:57:52 Gast4224
NotSolved

Ansicht des Beitrags:
Von:
Gast19350
Datum:
12.06.2014 22:08:30
Views:
877
Rating: Antwort:
  Ja
Thema:
Textdateien auslesen

Unkompliziert gehalten, so:

Option Explicit

Sub Test()
  
  Dim strFileContent As String
  Dim FN As Integer
  
  FN = FreeFile
  Open "X:\file.txt" For Input As #FN
    strFileContent = Input(LOF(FN), #FN)
  Close #FN
  
  Dim astrValues() As String
  Dim vntValue As Variant
  
  astrValues = Split(GetValue("Windenergieanlage", strFileContent), ",")
  
  Debug.Print "[Windenergieanlage]"
  If UBound(astrValues) >= 0 Then
    For Each vntValue In astrValues
      Debug.Print " * " & Trim$(vntValue)
    Next
''  ODER gezielt abfragen:
'    Debug.Print Trim$(astrValues(0)) 'Hersteller
'    Debug.Print Trim$(astrValues(1)) 'Typ
''   ...
  Else
    Debug.Print " ! nicht gefunden"
  End If
  
  astrValues = Split(GetValue("Getriebe", strFileContent), ",")
  
  Debug.Print "[Getriebe]"
  If UBound(astrValues) >= 0 Then
    For Each vntValue In astrValues
      Debug.Print " * " & Trim$(vntValue)
    Next
''  ODER gezielt abfragen:
'    Debug.Print Trim$(astrValues(0)) 'Getriebehersteller
'    Debug.Print Trim$(astrValues(1)) 'Getriebetyp
''   ...
  Else
    Debug.Print " ! nicht gefunden"
  End If
  
End Sub

Private Function GetValue(Key As String, Expression As String) As String
'
' Aufbau >>  KEY: KEYVALUE
'
  Dim s As Long
  Dim e As Long
  
  'KEY suchen
  s = InStr(1, Expression, Key & ":", vbTextCompare)
  If s = 0 Then Exit Function
  
  'KEYVALUE lesen
  s = s + Len(Key) + 1
  e = InStr(s, Expression, vbNewLine, vbBinaryCompare)
  
  'wenn KEYVALUE nicht vorhanden ist...
  If s = e Then
    '... und es noch weitere Daten danach gibt...
    If e < Len(Expression) Then
    '... nehmen wir die Zeile darunter als KEYVALUE
      s = e + Len(vbNewLine)
      e = InStr(s, Expression, vbNewLine, vbBinaryCompare)
    Else
      Exit Function
    End If
  End If
  
  GetValue = Mid$(Expression, s, e - s)
  
End Function

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
12.06.2014 19:23:41 Gast36616
NotSolved
Blau Textdateien auslesen
12.06.2014 22:08:30 Gast19350
NotSolved
12.06.2014 23:06:10 Gast35197
NotSolved
18.06.2014 15:32:55 Gast51418
NotSolved
19.06.2014 00:30:58 Gast68463
NotSolved
07.07.2014 11:13:51 Gast89630
NotSolved
07.07.2014 17:57:52 Gast4224
NotSolved