[VBA]求助!
小弟是刚开始学习vba的。想实现的功能是:获取一个模型空间上的所有实体的名称,相同名称的实体名只显示一次。请问该怎样实现?? For each i in ThisDrawing.ModelSpacenext i 谢谢您的回复。
要实现的是统计实体的名称。相同名称的只能显示一次。那样循环就把所有的名称全部显示出来了。有很多的是重复的。 什么名称?
ObjectName? 对。 Sub ts()<BR>On Error Resume Next<BR>Dim i As AcadEntity<BR>Dim objs As New Collection<BR>For Each i In ThisDrawing.ModelSpace<BR>objs.Add i.ObjectName, i.ObjectName<BR>Next i<BR>For Each j In objs<BR>MsgBox j<BR>Next j<BR>End Sub<BR> 谢谢斑竹。
还是不行。结果显示的还是有重复的名称。 我这没有重复的,你到底要什么效果,说清楚点 比如说一张图纸上有2个圆,3条直线,4个圆弧。统计时只要求知道这个图纸上有circle,line,arc即可。具体的有多少个circle无关。也就是相同类型实体的objectname只能出一次。
你上面写的这段代码是将modelspace里面的所有实体的objectname转移到collection当中。假如有两个circle,两个line,在遍历集合时就会对circle和line各提示两次。实际需要是只对circle和line各提示一次就可以了。 你有试过我的代码么?它确实可以达到你要的效果
页:
[1]
2