明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1403|回复: 3

[VBA]选择集变量的重复利用问题

[复制链接]
发表于 2005-4-17 16:24:00 | 显示全部楼层 |阅读模式
我编了一个有关选择集的程序,当第一次执行


selectionset1.select mode,,,gpcode,datavalue 程序一切正常,后又用selectionset1.clear将选择集中的成员清除,重新构造选择集,用下面的语句


selectionset1.select mode,,,gpcode1,datavalue1


即:选择的方式没变,但选择的条件变了,程序就老执行不通,错误提示为:运行时错误'5'


"无效的过程调用或参数" , 构造新选择集的参数(新的两数组)肯定是没问题的,但程序到这一步就出错,请大虾帮忙
发表于 2005-4-18 13:50:00 | 显示全部楼层
可能是你多次使用Add方式创建新的选择集,而原来名称的选择集已经存在,就会出错。
发表于 2005-4-18 23:37:00 | 显示全部楼层
目的是除选择集,试试用selectionset1.erase或者delete方法看
发表于 2005-4-19 10:29:00 | 显示全部楼层
安全地创建选择集很重要。给你一个子程序吧: Public Function CreateSelectionSet(AcadDoc As AcadDocument, ByVal Name As String) As AcadSelectionSet
On Error GoTo ERR_HANDLER

Dim SSetObj As AcadSelectionSet
Dim SSetColl As AcadSelectionSets
Set SSetColl = AcadDoc.SelectionSets

Dim Index As Integer
Dim Found As Boolean

Found = False For Index = 0 To SSetColl.Count - 1
Set SSetObj = SSetColl.Item(Index)
If StrComp(SSetObj.Name, Name, 1) = 0 Then
Found = True
Exit For
End If
Next

If Not (Found) Then
Set SSetObj = SSetColl.Add(Name)
Else
SSetObj.Clear
End If

Set CreateSelectionSet = SSetObj

Exit Function
ERR_HANDLER:
Debug.Print "Error in Function CreateSelectionSet: " & Err.Number & " -- "; Err.Description
Resume ERR_END

ERR_END:
End Function
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-27 18:45 , Processed in 0.173861 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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