vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

In diesem Forum haben Sie die Möglichkeit Kommentare, Fragen und Verbesserungsvorschläge zu den im vb@rchiv gelisteten Tipps und Workshops zu posten.

Hinweis:
Ein neues Thema kann immer nur über die jeweilige Tipps & Tricks bzw. Workshop Seite eröffnet werden!

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fragen zu Tipps & Tricks und Workshops im vb@rchiv
Tipp 970: Bestimmte Zeile aus einer Textdatei auslesen 
Autor: julien88
 Tipp anzeigenDatum: 08.04.08 11:39

Hallo,

ich will aus einer Datei die im selben Ordner wie das Word-Dokument liegt, die 5. Zeile auslesen. Dazu hab ich mir lt. Tipp diesen Code gebastelt:

Sub Test()
 
Dim data As String
data = ReadLine(".\test.ini", 5)
 
MsgBox (data)
 
End Sub
Nun erscheint die Fehlermeldung:

Fehler beim Kompilieren:
Sub oder Function nicht definiert

Markiert wird dabei das 'ReadLine'

Was genau bedeutet das ?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Bestimmte Zeile aus einer Textdatei auslesen 
Autor: ModeratorDieter (Moderator)
Datum: 08.04.08 12:09

So wie Du das beschreibst, hast Du die Funktion "ReadLine" aus dem Tipp gar nicht in Deinen Quellcode übernommen.

_________________________
Professionelle Entwicklerkomponenten
www.tools4vb.de

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Bestimmte Zeile aus einer Textdatei auslesen 
Autor: julien88
Datum: 08.04.08 13:57

Also der Quellcode ist bei mir im Programm so wie beschrieben.
Woran sehe ich denn das ich mit VB5 oder VB6 arbeite.
Wenn ich bei mir im VB auf Hilfe -> Info klicke steht dort keine Version ?!
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Bestimmte Zeile aus einer Textdatei auslesen 
Autor: ModeratorDieter (Moderator)
Datum: 08.04.08 15:45

Wenn sich die Funktion im Programm befindet, dürfte der Compiler aber nicht meckern

_________________________
Professionelle Entwicklerkomponenten
www.tools4vb.de

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Bestimmte Zeile aus einer Textdatei auslesen 
Autor: julien88
Datum: 08.04.08 16:03



Hier mal ein Screenshot.
Zentral sieht man die Fehlermeldung. Und oben rechts habe ich das Dialogfenster Hilfe->Info eingefügt
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Bestimmte Zeile aus einer Textdatei auslesen 
Autor: ModeratorDieter (Moderator)
Datum: 08.04.08 16:51

Und wo befindet sich die Funktion ReadLine? Im gleichen Modul oder ... ?

_________________________
Professionelle Entwicklerkomponenten
www.tools4vb.de

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Bestimmte Zeile aus einer Textdatei auslesen 
Autor: julien88
Datum: 09.04.08 08:19

Danke erstmal für deine Geduld bisher

Was meinst du mit Funktion? Ich habe nur das was dort im Screenshot zu sehen ist geschrieben, mehr nicht.
Muss ich noch etwas anderswo schreiben ?!

Habe bisher nur mit Standardsachen gearbeitet und bin da noch nicht so fit.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Bestimmte Zeile aus einer Textdatei auslesen 
Autor: ModeratorDieter (Moderator)
Datum: 09.04.08 08:54

Na ja, Du musst natürlich auch den Code der Funktion "ReadLine" mit in Dein Projekt kopieren:
' Bestimmte Zeile aus einer Textdatei lesen
Public Function ReadLine(ByVal sFile As String, _
  Optional ByVal nLine As Long = 1) As String
 
  Dim sLines() As String
  Dim oFSO As Object
  Dim oFile As Object
 
  ' Fehlerbehandlung aktivieren
  On Error GoTo ErrHandler
 
  ' Verweis auf das FileSystemObject erstellen
  Set oFSO = CreateObject("Scripting.FileSystemObject")
 
  ' Existiert die Datei überhaupt?
  If oFSO.FileExists(sFile) Then
    ' Datei öffnen
    Set oFile = oFSO.OpenTextFile(sFile)
 
    ' Alles lesen und in Array zerlegen
    sLines = Split(oFile.ReadAll, vbCrLf)
 
    ' Datei schließen
    oFile.Close
 
    Select Case Sgn(nLine)
       ' (nLine > 0)
      Case 1
        ' n-te Zeile von vorne beginnend
        ReadLine = sLines(nLine - 1)
 
      ' (nLine < 0)
      Case -1
        ' n-te Zeile von hinten beginnend
        ReadLine = sLines(UBound(sLines) + nLine + 1)
    End Select
  End If
 
ErrHandler:
  ' Objekte zerstören
  Set oFile = Nothing
  Set oFSO = Nothing
End Function

_________________________
Professionelle Entwicklerkomponenten
www.tools4vb.de

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Bestimmte Zeile aus einer Textdatei auslesen 
Autor: julien88
Datum: 09.04.08 09:13

Oh na gut wusste ich nicht, ist das also keine Standardfunktion.

Wenn ich den Code nun in das Modul kopiere und nun ausführe, bekomme ich wieder die Fehlermeldung, markiert wird dabei
    ' Alles lesen und in Array zerlegen
    sLines = [u]Split(oFile.ReadAll, vbCrLf)
Ist das auch wieder keine Standardfunktion ?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Bestimmte Zeile aus einer Textdatei auslesen 
Autor: ModeratorDieter (Moderator)
Datum: 09.04.08 09:55

Die Funktion Split ist eine VB-Funktion, die aber est ab VB6 zur Verügung steht, bzw. Office 2000.

_________________________
Professionelle Entwicklerkomponenten
www.tools4vb.de

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Bestimmte Zeile aus einer Textdatei auslesen 
Autor: julien88
Datum: 09.04.08 10:30

Alles klar. Mal schauen wie ich das löse.
Vielen Dank auf jeden Fall für deine Bemühungen und Geduld.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Bestimmte Zeile aus einer Textdatei auslesen 
Autor: Jigisigi
Datum: 30.04.21 07:13

Hallo Julien,

ich habe deinen Code versucht, allerdings bekomme ich immer eine Leere Rückmeldung. Ich habe verschiedene Text Dateien und Word Dateien und bekomme immer das gleiche Ergebnis. Kannst du mir vielleicht helfen und sagen was ich falsch gemacht habe. Hier meine Umsetzung:

Public Function ReadLine(ByVal sFile As String, _
Optional ByVal nLine As Long = 1) As String

Dim sLines() As String
Dim oFSO As Object
Dim oFile As Object

' Fehlerbehandlung aktivieren
On Error GoTo ErrHandler

' Verweis auf das FileSystemObject erstellen
Set oFSO = CreateObject("Scripting.FileSystemObject")

' Existiert die Datei überhaupt?
If oFSO.FileExists(sFile) Then
' Datei öffnen
Set oFile = oFSO.OpenTextFile(sFile)

' Alles lesen und in Array zerlegen
sLines = Split(oFile.ReadAll, vbCrLf)

' Datei schließen
oFile.Close

Select Case Sgn(nLine)
' (nLine > 0)
Case 1
' n-te Zeile von vorne beginnend
ReadLine = sLines(nLine - 1)

' (nLine < 0)
Case -1
' n-te Zeile von hinten beginnend
ReadLine = sLines(UBound(sLines) + nLine + 1)
End Select
End If

ErrHandler:
' Objekte zerstören
Set oFile = Nothing

Set oFSO = Nothing
End Function

Sub BestimmteZeilelesen()

Dim txtline As String

txtline = ReadLine("/Users/thetucholkes/Documents/Cocktail Box/Logistik_KundenBrain/pdftotext/Test.txt", -1)

MsgBox (txtline)

End Sub
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um einen neuen Beitrag schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel