Hallo Spiderboy,
userform mit CommandButton1, TextBox1, TextBox2, Datei1 mit Daten, Format siehe Kommentar:
mit der Instr-Funktion
Private Sub CommandButton1_Click()
Dim f As Integer
Dim strIn As String
Dim strGesamt As String
Dim strSearch As String
Dim pos1 As Long
Dim pos2 As Long
Dim poslen As Long
'Dateinummer zuweisen, hat das Format "Wort=Übersetzung;"
f = FreeFile
'Datei einlesen in strGesamt
Open "c:\Temp\Datei1.txt" For Input As f
Do While Not EOF(f)
Input #f, strIn
strGesamt = strGesamt & strIn
Loop
'Datei schließen
Close f
pos1 = 0
pos2 = 0
strSearch = TextBox1.text
pos1 = InStr(1, strGesamt, strSearch, vbTextCompare)
If pos1 <> 0 Then
pos2 = InStr(pos1, strGesamt, ";")
TextBox2.text = Mid(strGesamt, pos1, pos2 - pos1)
Exit Sub
Else
MsgBox "Nichts gefunden!", vbOKOnly
End If
End Sub gemischt, wobei split nur zur Suche verwendet wird
Sub CommandButton1_Click()
Dim f As Integer
Dim strIn As String
Dim strGesamt As String
Dim strSearch As String
Dim strArr() As String
Dim pos2 As Long
'Datei einlesen, hat das Format "Wort=Übersetzung;"
f = FreeFile
Open "c:\Temp\Datei1.txt" For Input As f
Do While Not EOF(f)
Input #f, strIn
strGesamt = strGesamt & strIn
Loop
Close f
' zu suchender Begriff in Textbox1
strSearch = TextBox1.text
' beispielsweise mit Split-Anweisung strGesamt durchsuchen
strArr = Split(strGesamt, strSearch)
'wenn Begriff gefunden steht in strArr(1) seine Übersetzung
If strArr(0) <> "" Then
pos2 = InStr(1, strArr(1), ";")
TextBox2.text = Mid(strArr(1), 1, pos2 - 1)
Else
MsgBox "Nichts gefunden", vbOKOnly
End If
End Sub und nur über Split mit einem Array und Schleife, Daten sehen anders aus- s.Kommentar
Private Sub CommandButton1_Click()
Dim f As Integer
Dim strIn As String
Dim strGesamt As String
Dim strSearch As String
Dim strArr() As String
Dim i As Long
'Dateinummer zuweisen, hat das Format "Wort;Übersetzung;"
f = FreeFile
'Datei einlesen in strGesamt
Open "c:\Temp\Datei1.txt" For Input As f
Do While Not EOF(f)
Input #f, strIn
strGesamt = strGesamt & strIn
Loop
'Datei schließen
Close f
strArr = Split(strGesamt, ";")
strSearch = TextBox1.text
For i = 0 To UBound(strArr) - 2
MsgBox strArr(i), vbOKOnly
If strArr(i) = strSearch Then
TextBox2.text = strArr(i) & "=" & strArr(i + 1)
Exit Sub
End If
Next i
MsgBox "Nichts gefunden!", vbOKOnly
End Sub Und dann gibt's sicherlich noch manche andere Variante. Gruß Jens52 |