[求助]下列删除文字样式的方法有什么问题
我想在VBA中删除一个指定的文字样式,可我的代码怎么也删除不了,每次运行都出错。Dim objCount As Integer
Dim i As Integer
objCount = ThisDrawing.TextStyles.Count
Dim textObj As AcadTextStyle
For i = 0 To objCount - 1
Set textObj = ThisDrawing.TextStyles.Item(i)
If textObj.Name = "aaa" Then ThisDrawing.TextStyles.Item(i).Delete
Next
错误信息已经写得很清楚了,当前图档中有文字使用了该文字样式,所以删不了
不是的,我对图中的所有文字都进行了检查,没有文字使用这处样式。这可以确定。
正确的代码如下:
For Each txtStyle In ThisDrawing.TextStyles
If txtStyle.Name = "aaa" Then
txtStyle.Delete
End If
Next
楼上的代码可以通过,谢谢了!
还有一个问题,我处理的一些外来图纸中,有一些图内有这样的文字样式,其样式名为空,即""。我用下列代码
For Each txtStyle In ThisDrawing.TextStyles
If txtStyle.Name = "" Then
txtStyle.Delete
End If
Next
进行删除时,出错。出错信息和前面一样。
用下列代码试一下
For Each txtStyle In ThisDrawing.TextStyles
If Trim(UCase(txtStyle.Name)) = ""Then
txtStyle.Delete
End If
Next
页:
[1]