vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

Visual-Basic Einsteiger
Re: Textfile einlesen 
Autor: effeff
Datum: 08.04.09 11:53

Wie du das machen kannst, dein Textfile AUSLESEN? Nun, du lässt dir vom System eine freie Kanalnummer heraussuchen, liest zeilenweise aus, ersetzt alle mehrfach vorkommenden Leerzeichen, splittest den Text dann nach den restlichen Leerzeichen und übernimmst ihn in die Excel-Datei.

Also:

Option Explicit
 
Sub TextFileAuslesen()
 
Dim Datei As String 'Variable für Textdatei und Pfad
Dim ff As Integer 'Variable für freie Kanalnummer für Dateizugriff
Dim Zeile As String 'Variable für Inhalt von ausgelesener Zeile
Dim arr() As String 'Array-Variable zum Aufsplitten des Zeilentextes
Dim Blattzeile As Integer 'Varialbe, um Zeile in Excel-Sheet zu bestimmen
Dim i As Integer 'Einfache Zählvariable, um Array-Inhalt auszulesen
 
Datei = "d:\irgendwas\irgendwas.txt" 'Variable für Textdatei und Pfad wird 
' gefüllt
 
ff = FreeFile() 'System sucht freie Kanalnummer für Dateizugriff
 
Blattzeile = 1 'Wir fangen in der ersten Zeile des Arbeitsblattes an, Daten 
' hineinzuschreiben
 
Open Datei For Input As ff 'Die Datei wird lesend geöffnet
Do While Not EOF(ff) 'Solange das Dateiende nicht erreicht ist...
Line Input #ff, Zeile '... wird der Zeileninhalt ausgelesen
Do While InStr(Zeile, "  ") <> 0 'Solange es im Zeileninhalt mehrere 
' Leerstellen nacheinander gibt...
Zeile = Replace(Zeile, "  ", " ") '... werden diese beseitigt
Loop 'Schleife für das Beseitigen der Leerstellen
arr() = Split(Zeile, " ") 'Der bereinigte Zeileninhalt wird nach den 
' verbliebenen Leerzeichen aufgesplittet
For i = 0 To UBound(arr()) - 1 'Für den gesamten Inhalt des nullbasierten Arrays
ThisWorkbook.ActiveSheet.Cells(Blattzeile, i + 1).Value = arr(i) 'In das aktive 
' Arbeitsblatt von dieser Arbeitsmappe werden in der genannten Zeile 
' "Blattzeile) in die von i+1 bestimmte Zelle die jeweiligen Array-Daten" & _
"geschrieben
Next 'Schleife für i, wird also ausgeführt, solange das Array noch nicht 
' durchlaufen ist
Blattzeile = Blattzeile + 1 'Wenn die Zeile gefüllt ist, erhöhen wir um 1, 
' damit gleich die nächste Zeile gefüllt werden kann
Loop 'Wenn das Dateiende noch nicht erreicht ist, geht es hier weiter
Close ff 'Wenn das Dateiende erreicht ist, wird der Zugriff auf die Textdatei 
' beendet
 
MsgBox "Fertig!" 'Schlussmeldung, dass alles erledigt ist
 
End Sub

EALA FREYA FRESENA

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Textfile einlesen1.266manuweb08.04.09 10:26
Re: Textfile einlesen1.095effeff08.04.09 11:53
Re: Textfile einlesen885manuweb09.04.09 11:21

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 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