Versuchs mal mit den erweiterten Daten
'Prozedur zum Speichern der Texte
Public Sub SaveCollection(sCol As Collection, ColName As String)
Dim XDType() As Integer, XDValue() As Variant
On Error Resume Next
'Felder für die Aufnahme der Zeichenfolgen dimensionieren
ReDim XDType(sCol.Count) As Integer
ReDim XDValue(sCol.Count) As Variant
'Das erste Feld dient der Aufnahme des Namens zur Identifizierung des
'Abschnitts der erweiterten Daten
XDType(0) = 1001: XDValue(0) = ColName
'Übergabe der einzelnen Daten an das jeweilige Feld
For i = 1 To sCol.Count
XDType(i) = 1000: XDValue(i) = sCol(i)
Next
'Speichern der Daten in den XDaten des Modelbereichs. Es könnten auch
'die Objekte Blocks, Dictionaries, Layer usw. verwendet werden. (Sie müssen nur erweiterte Daten speichern können.
ModelSpace.SetXData XDType, XDValue
End Sub
'Laden der Zeichenfolgen aus den XDaten des ModelSpaces
Public Function LoadCollection(ColName As String) As Collection
Dim XDType As Variant, XDValue As Variant
On Error Resume Next
Set LoadCollection = New Collection
'Erweiterte Daten abrufen
ModelSpace.GetXData ColName, XDType, XDValue
If IsEmpty(XDType) = False Then
'und dem Collection-Objekt hinzufügen
For i = 1 To UBound(XDType)
LoadCollection.Add CStr(XDValue(i))
Next
End If
End Function
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP