Hallo
Hier ein Beispiel wie man ihr Problem lösen könnte.
Option Explicit
Option Explicit
'============================ Start entnommener Code ============================
’ Code zum Einlesen einer Textdatei entnommen bei folgendem Link
’ http://www.vbarchiv.net/tipps/tipp_298-textdateien-s…
'--------------------------------------------------------------------------------------
Private Sub cmdOpen_Click()
’ Dateiauswahl
On Local Error Resume Next
With CommonDialog1
.CancelError = True
.Filter = „Textdatei (*.txt)|*.txt|“ & _
„alle Dateien (*.*)|*.*“
.ShowOpen
’ wenn nicht auf Abbrechen geklickt wurde
If Err = 0 Then
’ Datei-Inhalt einlesen und anzeigen
txtTextdatei.Text = ReadFile(.FileName)
End If
End With
End Sub
’ Beliebige Datei auslesen und
’ Inhalt als String zurückgeben
Private Function ReadFile(ByVal sFilename As String) _
As String
Dim F As Integer
Dim sInhalt As String
’ Prüfen, ob Datei existiert
If Dir$(sFilename, vbNormal) „“ Then
’ Datei im Binärmodus öffnen
F = FreeFile: Open sFilename For Binary As #F
’ Größe ermitteln und Variable entsprechend
’ mit Leerzeichen füllen
sInhalt = Space$(LOF(F))
’ Gesamten Inhalt in einem „Rutsch“ einlesen
Get #F, , sInhalt
’ Datei schliessen
Close #F
End If
ReadFile = sInhalt
End Function
'========================= Ende entnommener Code ================
'Code zum Suchen von Zeichen in einem Text und Markieren des gefundenen Textes
'nach Beendigung mit der Enter Taste.
'bei jedem Zeichen wird überprüft, ob der eingegebene String in der Textdatei enthalten ist,
'wenn nein, wird der Hintergrund rot eingefärbt.
'Bei Enter wird der gesuchte Text in der Texdatei blau eingefärbt.
’
'Erstellen Sie ein Projekt wie in oben angegebenen Link beschrieben.
'Legen Sie zusätzlich auf die Form eine Textbox und nennen Sie sie txtSuche
Private Sub txtSuche_Change()
If InStr(1, txtTextdatei.Text, txtSuche.Text) > 0 Then
txtSuche.BackColor = vbWhite
Else
txtSuche.BackColor = vbRed
End If
End Sub
Private Sub txtSuche_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
If InStr(1, txtTextdatei.Text, txtSuche.Text) > 0 Then
txtTextdatei.SelStart = InStr(1, txtTextdatei.Text, txtSuche.Text) - 1
txtTextdatei.SelLength = Len(txtSuche.Text)
txtTextdatei.SetFocus
End If
'verhindert ein Piepen
KeyAscii = 0
End If
End Sub