乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 157|回复: 9

[VBA]求助!

[复制链接]

2

主题

7

帖子

1

银币

初来乍到

Rank: 1

铜币
15
发表于 2004-11-3 20:22:00 | 显示全部楼层 |阅读模式
小弟是刚开始学习vba的。想实现的功能是:获取一个模型空间上的所有实体的名称,相同名称的实体名只显示一次。请问该怎样实现??
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2004-11-3 20:32:00 | 显示全部楼层
For each i in ThisDrawing.ModelSpace
        
next i
回复

使用道具 举报

2

主题

7

帖子

1

银币

初来乍到

Rank: 1

铜币
15
发表于 2004-11-3 21:11:00 | 显示全部楼层
谢谢您的回复。
要实现的是统计实体的名称。相同名称的只能显示一次。那样循环就把所有的名称全部显示出来了。有很多的是重复的。
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2004-11-3 21:17:00 | 显示全部楼层
什么名称?
ObjectName?
回复

使用道具 举报

2

主题

7

帖子

1

银币

初来乍到

Rank: 1

铜币
15
发表于 2004-11-3 21:20:00 | 显示全部楼层
对。
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2004-11-3 21:33:00 | 显示全部楼层
Sub ts()
On Error Resume Next
Dim i As AcadEntity
Dim objs As New Collection
For Each i In ThisDrawing.ModelSpace
objs.Add i.ObjectName, i.ObjectName
Next i
For Each j In objs
MsgBox j
Next j
End Sub
回复

使用道具 举报

2

主题

7

帖子

1

银币

初来乍到

Rank: 1

铜币
15
发表于 2004-11-3 21:48:00 | 显示全部楼层
谢谢斑竹。
还是不行。结果显示的还是有重复的名称。
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2004-11-3 21:53:00 | 显示全部楼层
我这没有重复的,你到底要什么效果,说清楚点
回复

使用道具 举报

2

主题

7

帖子

1

银币

初来乍到

Rank: 1

铜币
15
发表于 2004-11-4 18:46:00 | 显示全部楼层
比如说一张图纸上有2个圆,3条直线,4个圆弧。统计时只要求知道这个图纸上有circle,line,arc即可。具体的有多少个circle无关。也就是相同类型实体的objectname只能出一次。
你上面写的这段代码是将modelspace里面的所有实体的objectname转移到collection当中。假如有两个circle,两个line,在遍历集合时就会对circle和line各提示两次。实际需要是只对circle和line各提示一次就可以了。
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2004-11-4 19:06:00 | 显示全部楼层
你有试过我的代码么?它确实可以达到你要的效果
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-16 15:00 , Processed in 2.457698 second(s), 73 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表