winabcd 发表于 2006-10-18 07:54:00

[求助]下列删除文字样式的方法有什么问题

<FONT face=宋体 size=2>我想在VBA中删除一个指定的文字样式,可我的代码怎么也删除不了,每次运行都出错。<BR>Dim objCount As Integer<BR>Dim i As Integer<BR>objCount = ThisDrawing.TextStyles.Count<BR><BR>Dim textObj As AcadTextStyle<BR>For i = 0 To objCount - 1<BR>Set textObj = ThisDrawing.TextStyles.Item(i)<BR>If textObj.Name = "aaa" Then ThisDrawing.TextStyles.Item(i).Delete<BR>Next</FONT>

流星蔡园 发表于 2006-10-19 08:53:00

<P>错误信息已经写得很清楚了,当前图档中有文字使用了该文字样式,所以删不了</P>
<P>&nbsp;</P>

winabcd 发表于 2006-10-24 09:27:00

<P>不是的,我对图中的所有文字都进行了检查,没有文字使用这处样式。这可以确定。</P>
<P>&nbsp;</P>

azjmjsj 发表于 2006-10-28 10:59:00

<P>正确的代码如下:</P>
<P>For Each txtStyle In ThisDrawing.TextStyles<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If txtStyle.Name = <FONT size=2>"aaa"</FONT> Then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; txtStyle.Delete<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<BR>Next</P>

winabcd 发表于 2006-10-30 08:21:00

<P>楼上的代码可以通过,谢谢了!</P>
<P>还有一个问题,我处理的一些外来图纸中,有一些图内有这样的文字样式,其样式名为空,即""。我用下列代码</P>
<P>For Each txtStyle In ThisDrawing.TextStyles<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If txtStyle.Name = <FONT size=2>""</FONT> Then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; txtStyle.Delete<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<BR>Next</P>
<P>进行删除时,出错。出错信息和前面一样。</P>
<P>&nbsp;</P>

azjmjsj 发表于 2006-11-4 13:46:00

<P>用下列代码试一下</P>
<P>&nbsp;For Each txtStyle In ThisDrawing.TextStyles<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If Trim(UCase(txtStyle.Name))&nbsp;= ""&nbsp; Then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; txtStyle.Delete<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End If<BR>&nbsp;Next</P>
页: [1]
查看完整版本: [求助]下列删除文字样式的方法有什么问题