VB doesn’t have a function to replace part of a string (of n-length) with another string (of x-length). The Mid() statement works only with target and replacement strings of the same length. Use this code to solve the problem:
Function ReplaceText( _ ByVal sOriginalString As String, _ ByVal sTargetString As String, _ ByVal sReplacement As String) As String Dim iOriginalLen As Integer Dim iTargetLen As Integer Dim iReplaceLen As Integer Dim iTargetLoc As Integer iOriginalLen = Len(sOriginalString) iTargetLen = Len(sTargetString) iReplaceLen = Len(sReplacement) If (iTargetLen = 0) Or (iOriginalLen = 0) Or _ (iReplaceLen = 0) Then ReplaceText = sOriginalString 'Improper use of function. Else iTargetLoc = InStr(sOriginalString, sTargetString) ReplaceText = Iif( iTargetLoc = 0, sOriginalString, _ Left(sOriginalString, iTargetLoc - _ 1) & sReplacement & Right( _ sOriginalString, iOriginalLen - _ iTargetLoc iTargetLen + 1) ) End IfEnd Function