jkbanana 发表于 2007-11-16 13:36:00

PickfirstSelectionSet选择集的问题?

在VBA中使用PickfirstSelectionSet选择集的方法,在本论坛已经被讨论过了。在我的程序中因要利用PickfirstSelectionSet选择集,就按这些方法试了试。发现仅调用一次PickfirstSelectionSet选择集时,没有问题。但当多次调用PickfirstSelectionSet选择集时,还是有错误发生。不知道为什么?
程序如下:
Option Explicit
Public Sub PFSS()
   Dim ssetObj As AcadSelectionSet
   Dim obj As AcadObject
   Set ssetObj = PickFirstSSet
   If Not (ssetObj Is Nothing) Then
      For Each obj In ssetObj
         obj.Delete
      Next
      MsgBox ssetObj.Count & " object(s) deleted"
   End If
   
End Sub
Function PickFirstSSet() As AcadSelectionSet
   On Error Resume Next
   ThisDrawing.SelectionSets("PICKFIRST").Delete
   On Error GoTo 0
   Set PickFirstSSet = ThisDrawing.PickfirstSelectionSet
End Function
'
';;;下面是运行该VBA的LSP
';;; Path of PickFirstSelectSet.dvb is supposed as "...\\\\"
';;;
'(defun c:ccVLA ()
'   (princ)
'   (setq envcmd (getvar "CMDECHO"))
'   (setvar "CMDECHO" 0)
'   (vl-load-com)
'   (vla-runmacro (vlax-get-acad-object) (strcat (vla-get-path (vlax-get-acad-object)) ""))
'   (setvar "CMDECHO" envcmd)
'   (princ)
')
**** Hidden Message *****

王咣生 发表于 2007-11-16 21:40:00

Not (ssetObj Is Nothing)
不知道用的对不对?
是不是要通过ssetObj.Count来限定一下?

jkbanana 发表于 2007-11-19 12:27:00

第二次调用时,错误发生在函数PickFirstSSet() 的
   Set PickFirstSSet = ThisDrawing.PickfirstSelectionSet
语句。
该函数引用站内mccad发的帖子
页: [1]
查看完整版本: PickfirstSelectionSet选择集的问题?