' Seach/Replace Routine
'
' General purpose search/replace routine for strings.
'
' Jon Vote
'
' 02/2002
'
' 1) Create a new project. Form1 will be created by default.
' 2) Stack three Label, Textbox pairs such that each Label has a Textbox to it's right.
' 3) Be sure that Label1 is next to Text1, Label2 next to Text2 and Label3 next to Text3.
' 4) Add a Command Button below the Label, Textbox pairs.
' 5) Paste the following code into the declarations section of Form1:
' --- Begin code for Form1
' Search/Replace Example
'
' General Purpose Search/Replace Routine
'
' Jon Vote, Idioma Software Inc.
'
' 02/2002
'
' www.idioma-software.com
'
Option Explicit
Private Sub Command1_Click()
Dim strMessage As String
strMessage = "Searching: " & Text1.Text & vbCrLf
strMessage = strMessage & "For: " & Text2.Text & vbCrLf
strMessage = strMessage & "Replace with: " & Text3.Text & vbCrLf & vbCrLf
strMessage = strMessage & "Result: " & SearchReplace(Text1.Text, Text2.Text, Text3.Text)
MsgBox strMessage
End Sub
Private Sub Form_Load()
Me.Caption = "Search/Replace Example"
Label1.Caption = "Search:"
Label2.Caption = "For:"
Label3.Caption = "Replace With:"
Text1.Text = "Hoooooowser"
Text2.Text = "oooooows"
Text3.Text = "Oz"
End Sub
Function SearchReplace(ByVal strSearchWhat As String, ByVal strSearchFor As String, ByVal strReplaceWith As String) As String
' Search/Replace
' returns result
' Example strSearchWhat = "Hoooooowser"
' strSearchFor = "oooooows"
' strReplaceWith = "Oz"
' Returns HOzer
'
Dim lnStr As Long
Dim lnRW As Long
Dim lnSF As Long
Dim s As Long
Dim t As Long
Dim sTemp As String
lnStr = Len(strSearchWhat)
lnRW = Len(strReplaceWith)
lnSF = Len(strSearchFor)
If strSearchFor = "" Then
SearchReplace = strSearchWhat
Else
t = 1
s = InStr(t, strSearchWhat, strSearchFor)
Do While s > 0
sTemp = Left$(strSearchWhat, s - 1) & strReplaceWith
If s < lnStr Then
strSearchWhat = sTemp & Mid$(strSearchWhat, s + lnSF)
t = s + lnRW
lnStr = Len(strSearchWhat)
s = InStr(t, strSearchWhat, strSearchFor)
Else
strSearchWhat = sTemp
s = 0 ' close loop
End If
Loop
SearchReplace = strSearchWhat
End If
End Function
' --- End code for Form1 ---