急!!在CAD2002中如何批量查找替换文字?
在CAD2002中如何批量查找替换文字?在CAD文件中有许多连续的数字。我想把每个数都加上一个1。即:1变成2,2变成3。。。
用VBA该如何实现呢?谢谢。。 Sub AddNum()
Dim Txt As AcadText
Dim Obj As AcadEntity
For Each Obj In ThisDrawing.ModelSpace
If Obj.ObjectName = "AcDbText" Then
Set Txt = Obj
If Val(Txt.TextString) <> 0 Or Txt.TextString = "0" Then
Txt.TextString = Val(Txt.TextString) + 1
End If
End If
Next Obj
Update
End Sub
谢谢。那要是P1、P2、P3等每个都加1变成P2、P3、P4呢?
即:P1变P2、P2变P3、P3变P4。。。 Sub AddNum()
Dim Txt As AcadText
Dim Obj As AcadEntity
Dim strTxt As String
Dim rTxt As String
strTxt = ThisDrawing.Utility.GetString(0, vbCrLf & " 输入文字的前缀<P>:")
If strTxt = "" Then strTxt = "P"
For Each Obj In ThisDrawing.ModelSpace
If Obj.ObjectName = "AcDbText" Then
Set Txt = Obj
rTxt = Right(Txt.TextString, Len(Txt.TextString) - Len(strTxt))
If Left(Txt.TextString, Len(strTxt)) = strTxt And (Val(rTxt) <> 0 Or rTxt = "0") Then
Txt.TextString = strTxt + Trim(Str(Val(rTxt) + 1))
End If
End If
Next Obj
Update
End Sub
用菜单“编辑/查找 ”可以实现! <p>怎么按上面的方法使不了啊,提示说,无效的变量</p> 谢谢mccad,两个宏都可有效运行 这个要请高手来回答了,我是新人 这实际上是字符串操作的内容了,很简单的,多看看VBA的帮助文件,有许多的字符串操作函数可用的。明总亲自回复不容易哦,珍惜哦。
页:
[1]