Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
744to748
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
744to748
744to748
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Textdatei - nach Zeichen suchen

Textdatei - nach Zeichen suchen
19.03.2006 11:19:26
andS
Hallo,
ich möchte in einer Textdatei nach einem Zeichen suchen(#). Dann möchte ich die Fundstelle (mit 3 Zeichen dahinter) in einem Array speichern!?
Wie ist das möglich?
Danke für jede Hilfe.
Gruß Andi

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
geschlossen - hab was gefunden
19.03.2006 11:24:23
andS
zu früh gefreut...
19.03.2006 11:34:13
andS
Hi,
habe folgenden Code:

Sub SearchandSave()
Dim arr() As String, i&, sSource$
Dim sText$, j&
sSource = ThisWorkbook.path & "/" & "Test.txt"
Open sSource For Input As #1
While Not EOF(1)
Line Input #1, sText
If InStr(1, sText, "#", vbTextCompare) > 0 Then
i = i + 1
ReDim Preserve arr(1 To i)
arr(i) = sText
End If
Wend
Close 1
For j = 1 To UBound(arr)
Debug.Print arr(j)
Next j
End Sub

Er findet die Datei nicht... Auch wenn ich den ganzen Pfad angebe?! An was kann das liegen?
Gruß Andi
AW: zu früh gefreut...
19.03.2006 12:35:34
andS
Hi,
ist eventuell die Länge des Pfades begrenzt?
Gruß Andi
Anzeige
AW: zu früh gefreut...
19.03.2006 12:58:43
Juergen
also... wenn ich das genau eingebe dann kommt bei mir als
Source raus
/test.txt
und ich glaube davor sollte noch was sein.
Gruß Jürgen
AW: zu früh gefreut...
19.03.2006 13:21:39
andS
Hi,

Sub SearchandSave()
Dim arr() As String, i&, sSource$
Dim sText$, j&
sSource = ThisWorkbook.path & "\Test.txt"
Open sSource For Input As #1
While Not EOF(1)
Line Input #1, sText
If InStr(1, sText, "#", vbTextCompare) > 0 Then
i = i + 1
ReDim Preserve arr(1 To i)
arr(i) = sText
End If
Wend
Close 1
For j = 1 To UBound(arr)
Debug.Print arr(j)
Next j
End Sub

Habe den Code geändert, bekomme schon den Pfad, aber die Datei wird nicht geöffnet...
Gruß Andi
Anzeige
AW: zu früh gefreut...
20.03.2006 10:36:34
Franz
Hallo Andi,
das Makro funktioniert. Ich habe es unter EXCEL97 getestet.
Die Source-Datei wird dabei "nur" für das Einlesen der Daten geöffnet. Es wird in EXCEL kein Fenster mit der Datei geöffnet.
Zeige, nachdem Du das Makro gelaufen ist, im VBA-Editor unter Ansicht das Direktfenster an. Dort werden die gefundenen Daten angezeigt durch die Schleife mit der Anweisung
Debug.Print arr(J)
Ich hab das Makro noch angepasst, so dass das #-Zeichen und die 3 Zeichen danach in das Array geschrieben werden. Dabei werden auch mehrere #-Zeichen in einer Zeile erkannt

Sub SearchandSave()
Dim arr() As String, i&, sSource$
Dim sText$, j&
sSource = ThisWorkbook.Path & "\Test.txt"
Open sSource For Input As #1
While Not EOF(1)
Line Input #1, sText
Do Until InStr(1, sText, "#", vbTextCompare) = 0
i = i + 1
ReDim Preserve arr(1 To i)
arr(i) = Mid(sText, InStr(1, sText, "#", vbTextCompare), 4)
sText = Mid(sText, InStr(1, sText, "#", vbTextCompare) + 3, Len(sText))
Loop
Wend
Close 1
For j = 1 To UBound(arr)
Debug.Print arr(j)
Next j
End Sub

Gruß
Franz
Anzeige
AW: zu früh gefreut...
20.03.2006 10:47:28
IngGi
Hallo Andi,
also bei mir hat erstaunlicherweise sogar die erste Programmversion funktioniert, obwohl ein Schrägstrich an Stelle eines umgekehrten Schrägstriches als Trennzeichen zum letzten Unterordner verwendet wurde. Kommt bei dir denn eine Fehlermeldung in der Open-Zeile?
Ansonsten: Die Datei wird mit "Open sSource For Input As #1" nicht etwa in Excel geöffnet. Der Dateiinhalt wird vielmehr Zeile für Zeile direkt von der Festplatte in die Variable "sText" eingelesen, von dort in das Datenfeld "arr()" übergeben und am Ende des Makros über "Debug.Print arr(j)" in das Direktfenster im VBA-Editor geschrieben. Wenn du das Makro von Excel aus einfach laufen lässt, passiert daher scheinbar gar nichts.
Gruß Ingolf
Anzeige

317 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige