sumuhu80 发表于 2007-5-23 11:51:00

[求助]哪位高手帮忙写个宏,非常感谢

<p>有很多的“A/B”形式的多行文字,想把“A/B”替换成“B”,其中A、B都是普通数字</p>

jkbanana 发表于 2007-5-23 12:37:00

这个也用不着编个宏,在ACAD中用编辑菜单中的查找功能就能办到.查找功能里就能替换.

sumuhu80 发表于 2007-5-23 16:29:00

<p>用替换功能只能一个一个替换啊,我是说A、B代表很多不同的数值,比如我要把“64/34”“32/21”“44/25”“78/9”“649/53”这5个多行文字都改为“34”“21”“25”“9”“53”</p>

StartMe 发表于 2007-5-23 23:13:00

本帖最后由 作者 于 2007-5-23 23:14:23 编辑 <br /><br /> <p>看看这样行不行,不过MeStr该是你所说的几个数字,可以反复赋给MeStr进行搜索。</p><p>Dim MyPos As Long<br/>Dim EntObj As AcadEntity<br/>Dim ss As AcadSelectionSet</p><p>'ss已获得<br/>For Each EntObj In ss<br/>&nbsp;&nbsp;&nbsp; MyPos = 1<br/>&nbsp;&nbsp;&nbsp; Do Until MyPos = 0<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If Len(EntObj.TextString) &lt; Len(MeStr) Then Exit Do<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MyPos = 0<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MyPos = InStr(1, EntObj.TextString, MeStr, 1)</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If MyPos &lt;&gt; 0 Then<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EntObj.TextString = Left(EntObj.TextString, MyPos - 1) &amp; Right(EntObj.TextString, Len(EntObj.TextString) - MyPos - Len(MeStr) + 1)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<br/>&nbsp;&nbsp;&nbsp; Loop<br/>Next</p><p></p>

StartMe 发表于 2007-5-23 23:42:00

StartMe发表于2007-5-23 23:13:00static/image/common/back.gif看看这样行不行,不过MeStr该是你所说的几个数字,可以反复赋给MeStr进行搜索。Dim MyPos As LongDim EntObj As AcadEntityDim ss As AcadSelectionSet'ss已获得For Each EntObj In ss&nbsp;&n

<p>还可以用Replace函数替换字符串形式。自己写吧。</p>
页: [1]
查看完整版本: [求助]哪位高手帮忙写个宏,非常感谢