office交流網--QQ交流群號

Access培訓群:792054000         Excel免費交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

Replace函數(轉)

2002-04-08 18:10:00
大熊-Office交流網
原創
3498
Function fstrTran(ByVal sInString As String, _
                        sFindString As String, _
                        sReplaceString As String) As String
  Dim iSpot As Integer, iCtr As Integer
  Dim iCount As Integer
  
  iCount = Len(sInString)
  For iCtr = 1 To iCount
    iSpot = InStr(1, sInString, sFindString)
    If iSpot > 0 Then
      sInString = Left(sInString, iSpot - 1) & _
                        sReplaceString & _
                        Mid(sInString, iSpot + Len(sFindString))
    Else
      Exit For
    End If
  Next
  fstrTran = sInString
  
End Function

tmtony在 2002/04/08 18:24:00 回覆-------------------
我也有箇例子,在
http://www.office-cn.net/bbs/dispbbs.asp?boardID=3&RootID=1329&ID=1388
裡用到.不過也是借用的

Function ReplaceStr(TextIn, SearchStr, Replacement, CompMode As Integer)

Dim WorkText As String, Pointer As Integer
  If IsNull(TextIn) Then
    ReplaceStr = Null
  Else
    WorkText = TextIn
    Pointer = InStr(1, WorkText, SearchStr, CompMode)
    Do While Pointer > 0
      WorkText = Left(WorkText, Pointer - 1) & Replacement & Mid(WorkText, Pointer + Len(SearchStr))
      Pointer = InStr(Pointer + Len(Replacement), WorkText, SearchStr, CompMode)
    Loop
    ReplaceStr = WorkText
  End If
End Function

大熊在 2002/04/08 18:41:00 回覆-------------------
好像基本一樣啊,隻是覺得你的函數名更好記,但是變量命名就沒此人來的規範,可讀性也要差一些!兩者閤併以後,歸我用啦!:)

Ps.加箇CompMode也很實用。

分享