Private Sub cmdReplaceAll_Click()  '有错:全部替换后又重新查找替换,如能执行则无限循环!(如“12”替换为“12速度”会无限循环!)我搜集的代码如下:
Dim x As String   '查找的字符串
Dim Y As String   '替换后的字符串
Dim i As Integer  '查找出的字符位置
 x = cboFind.Text
 Y = cboReplace.Text
 i = 0  
 Do
     i = rtfText.Find(x, i)
     If i = -1 Then Exit Do
     rtfText.Text = Left(rtfText.Text, i) & Y & Right(rtfText.Text, Len(rtfText.Text) - i - Len(x))
 Loop
End Sub

解决方案 »

  1.   

    replace(replace("fasdfd12fdafasad12","12","一些不容易出现的字符串"),"一些不容易出现的字符串","12速度")
      

  2.   

    不用这么复杂吧Dim x As String   '查找的字符串
    Dim Y As String   '替换后的字符串
    Dim a as string x = cboFind.Text
     Y = cboReplace.Texta=replace(rtfText.Text,x,y)'a就是你要的最后结果
      

  3.   

    Cooly(☆给我一个开心的理由!☆) 的方法很棒!谢谢你,这么快有了答案!稍后给分!再问进一步的问题:
    1,就是rtftext中的图形丢失了,如何解决?
    2,查找“x=h,γ=1.0,度x=h”时,在小写希腊字母γ之后的字符串不能正确查找(当然错误标记),可否解决?(或许是richtextbox控件的bug!)