[求助]下列删除文字样式的方法有什么问题
<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> <P>错误信息已经写得很清楚了,当前图档中有文字使用了该文字样式,所以删不了</P><P> </P> <P>不是的,我对图中的所有文字都进行了检查,没有文字使用这处样式。这可以确定。</P>
<P> </P> <P>正确的代码如下:</P>
<P>For Each txtStyle In ThisDrawing.TextStyles<BR> If txtStyle.Name = <FONT size=2>"aaa"</FONT> Then<BR> txtStyle.Delete<BR> End If<BR>Next</P> <P>楼上的代码可以通过,谢谢了!</P>
<P>还有一个问题,我处理的一些外来图纸中,有一些图内有这样的文字样式,其样式名为空,即""。我用下列代码</P>
<P>For Each txtStyle In ThisDrawing.TextStyles<BR> If txtStyle.Name = <FONT size=2>""</FONT> Then<BR> txtStyle.Delete<BR> End If<BR>Next</P>
<P>进行删除时,出错。出错信息和前面一样。</P>
<P> </P> <P>用下列代码试一下</P>
<P> For Each txtStyle In ThisDrawing.TextStyles<BR> If Trim(UCase(txtStyle.Name)) = "" Then<BR> txtStyle.Delete<BR> End If<BR> Next</P>
页:
[1]