china-hz 发表于 2002-10-26 13:55:00

如何用VBA编写查找替换

在CAD中有_find命令,能实现查找替换,请问高手,如何用VBA程序实现这一功能。如将图形中的文字2全部替换为12。谢谢。

efan2000 发表于 2002-10-26 14:23:00

Re:如何用VBA编写查找替换

函数如下:
OldText-要查找的文字
NewText-替换文字
Sub ReplaceText(ByVal OldText As String, ByVal NewText As String)
    Dim EntObj As AcadEntity
   
    On Error GoTo ErrTrap
    For Each EntObj In ThisDrawing.ModelSpace
      If StrComp(EntObj.ObjectName, "AcDbText", vbTextCompare) = 0 _
            Or StrComp(EntObj.ObjectName, "AcDbMText", vbTextCompare) = 0 Then
                If StrComp(EntObj.TextString, OldText, vbTextCompare) = 0 Then
                  EntObj.TextString = NewText
                End If
      End If
    Next
    Set EntObj = Nothing
    Exit Sub
   
ErrTrap:
    If Not (EntObj Is Nothing) Then Set EntObj = Nothing
    On Error GoTo 0
End Sub

调用方法如下:
Sub Main()
    ReplaceText "2", "12"
End Sub

china-hz 发表于 2002-10-26 18:00:00

thank you.

thank you.

headbox 发表于 2010-5-18 16:44:00

灰常感谢,学习中呢

sdj1211 发表于 2010-7-31 14:49:00

非常感谢伊凡的代码,离我引用EXCEL数据自动替换不远了

短歌行 发表于 2010-8-12 13:59:00

谢谢 学习哈

CAD学习开发 发表于 2010-8-12 20:17:00

学习了,进步了,提高了,感谢啊!
页: [1]
查看完整版本: 如何用VBA编写查找替换