找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 518|回复: 5

[VBA函数]:求助:选择集问题

[复制链接]
发表于 2006-1-10 12:04:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
各位大侠请帮我看一下这段程序为何在第二次运行时总会出现:“命名选择集已经存在”的错误信息:
Sub Ch4_FilterBlueCircleOnLayer0()
   Dim sstext As AcadSelectionSets
   Dim FilterType(2) As Integer
   Dim FilterData(2) As Variant
   Set sstext = ThisDrawing.SelectionSets.Add("SS4")
   
   FilterType(0) = 0
   FilterData(0) = "Circle"

   FilterType(1) = 62
   FilterData(1) = acBlue

   FilterType(2) = 8
   FilterData(2) = "0"
   
   sstext.SelectOnScreen FilterType, FilterData
End Sub

另外请教SS4是什么?有什么讲究吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-1-10 15:51:38 | 显示全部楼层
"SS4"代表建立选择集的名字。
第一次运行由于系统中没有SS4选择集所以可以建立并运行通过,而第二次运行时由于上一次建立的SS4选择集没有删除,也就是系统中已经存在SS4选择集了,所以创建会失败!

可以将代码改为如下形式:
Sub Ch4_FilterBlueCircleOnLayer0()
Dim sstext As AcadSelectionSets
Dim FilterType(2) As Integer
Dim FilterData(2) As Variant

On Error Resume Next             '忽略错误继续执行
ThisDrawing.SelectionSets.Item("SS4").Delete     '删除SS4选择集
Set sstext = ThisDrawing.SelectionSets.Add("SS4")

FilterType(0) = 0
FilterData(0) = "Circle"

FilterType(1) = 62
FilterData(1) = acBlue

FilterType(2) = 8
FilterData(2) = "0"

sstext.SelectOnScreen FilterType, FilterData
End Sub
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-11 10:26:58 | 显示全部楼层
多谢2楼兄弟,终于成功了,非常感谢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-1-15 13:23:15 | 显示全部楼层
选择集不能出现重名
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-16 13:29:18 | 显示全部楼层
不是不能重名,而是已经存在的名称要先删除,然后才能用,VBA这方面做得也是有点磕掺。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-3-16 14:51:44 | 显示全部楼层
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-28 19:26 , Processed in 0.328946 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表