Hallo,
was willst du machen? woran ist es gescheitert ?
vielleicht hieran "Objektvariable oder with- Block nicht festgelegt! ?
Eine Collection mußt du mit
dim myCol as new Collection instanzieren.
In der Property Get oder Function kannst du eine Hilfscollection anlegen und am Ende mittels Set dem Property zuweisen.
siehe Beispiel:
Code:
Dim Liste As Collection
Dim selektion As New cls_Selektion
Set Liste = selektion.GetBlocks
For Each Block In Liste
Debug.Print Block.Name
Next Block' cls_Selektion
Private Sub class_Initialize()
On Error Resume Next
Set mySelset = ThisDrawing.SelectionSets("MySel")
If Err.Number <> 0 Then
Set mySelset = ThisDrawing.SelectionSets.Add("MySel")
End If
End Sub
Public Function GetBlocks() As Collection
' oder als
' Public Property Get SelBlocks() As Collection
Dim entity As Variant
Dim TmpCol As New Collection
Dim FilterType() As Integer
Dim FilterData() As Variant
Dim group As Variant
Dim FData As Variant
ReDim FilterType(0 To 0)
ReDim FilterData(0 To 0)
FilterType(0) = 0
FilterData(0) = "INSERT"
group = FilterType
FData = FilterData
mySelset.Clear
mySelset.SelectOnScreen group, FData
For Each entity In mySelset
TmpCol.Add entity
Next entity
Set GetBlocks = TmpCol
End Function
Stelli
[hatte Sub class_Initialize vergessen zu kopieren]
------------------
Warum lisp'eln wenn's auch anders geht.
[Diese Nachricht wurde von Stelli1 am 25. Okt. 2005 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP