Hallo Danwe,
mit den functions instr & replace solltest du das ganze einfach lösen können:
Do While Nz(InStr(1, OriginalString, SuchString, vbBinaryCompare), 0) > 0
OriginalString = Replace(OriginalString, Suchstring, ErsetzenDurch)
Loop
Hierbei solltest Du sicherstellen, dass instr keinen Null-Wert liefert, daher die nz() function.
Sollten sich die Such-/Ersetzkriterien ändern, dann kannst Du das ganze auch in eine Public Function oder in eine zweite schleife packen:
Public Function sReplace(ByVal String1 As String, ByVal sFind As String, ByVal sReplace As String) As Variant
If sFind = "" Then
sReplace = String1
Else
Do While Nz(InStr(1, String1, sFind, vbBinaryCompare), 0) > 0
String1 = Replace(String1, sFind, sReplace)
Loop
sReplace = String1
End If
End Function
Zwar etwas spät, aber vielleicht hilft es Dir ja trotzdem...
Gruss
atropos
Rasta schrieb am 02.12.2005 14:09:48:
Hi Danwe,
das ist deine schleife:
laenge = len("txt")
For c = 1 To laenge Step 1
If Mid(txt, c, 6) = "(Name)" Or Mid(txt, c, 6) = "(name)" Then
lblPreview.Caption = Mid(txt, 1, c - 1) & Name & Mid(txt, c + 6)
txt = lblPreview.Caption
laenge = len("txt")
End If
Next c
und wir machen daraus
do until instr(txt, (name)) = 0
lblPreview.Caption = mid(txt, instr(txt, name), len(txt))
'an dieser stelle den string wieder richtig zusammensetzen- also mit dem ausgetuaschten string
loop
ungefähr so -- wieder nicht getestet-- aber es geht ja nur darum, das du das prinzip erkennst
Danwe schrieb am 02.12.2005 13:59:39:
Ich weis nicht so recht wie das funktionieren soll. Das heist ja die suche würde ganz anders ablaufen, aber wie? |