Hallo liebe CAD-Gemeinde
Leider habe ich ein Problem mit einem Makro.
Das Makro soll alle Stempel einer geöffneten CATDrawing-Datei auslesen.
Da einige Textfelder von einigen Stempeln nicht in der Instanz modifizierbar sind, kann ich diese nicht in einem Schub auslesen.
Gibt es eine Möglichkeit, ALLE Textfelder eines Stempels nacheinander durchzugehen, aber ohne die Unterscheidung, ob diese in der Instanz modifizierbar sind oder nicht?
Hier der momentane, unvollständige Quellcode:
(Option Explicit, usw. kommt bei mir erst zum Schluss)
Public Sub CATMain()
Dim drawingComponent1 'As DrawingComponent
Dim abc
Dim iModifiableObjectsCount 'As Integer
Dim iCurrModObj 'As Integer
Set DrawingDocument = CATIA.ActiveDocument
Set DrawingSheet = DrawingDocument.Sheets.ActiveSheet
Views_Max = DrawingSheet.Views.Count
For views_counter = 1 To Views_Max
view_name = LCase(DrawingSheet.Views.Item(views_counter).Name)
If view_name <> LCase("main view") And view_name <> LCase("background view") Then
Set View = DrawingSheet.Views.Item(views_counter)
Items_Max = View.Components.Count
For item_counter = 1 To Items_Max
Set DrawingComponent = View.Components.Item(item_counter)
iModifiableObjectsCount = DrawingComponent.GetModifiableObjectsCount
For iCurrModObj = 1 To iModifiableObjectsCount
Set abc = DrawingComponent.GetModifiableObject(iCurrModObj)
abc.Text = "^" 'Überprüfung, ob der Text greifbar und veränderbar ist. Unveränderte Inhalte werden nicht abgegriffen
Next 'iCurrModObj
Next 'Item_Counter
End If
Next 'views_counter
End Sub
Nachtrag:
Meine bisherigen Versuche waren unter anderem :
View.components.item(nummer) => Keine Texte, Es gibt nur "CompRef"
Jeden Text von View.components.item(nummer).compref.texts.item(nummer2) SetModifiableIn2DComponentInstances setzen
=> Leider fand ich bis jetzt noch keine Möglichkeit,herauszufinden, ob die Instanz bereits modifizierbar ist. Dies braucht ewig zu rechnen.
[Diese Nachricht wurde von gunngir am 05. Aug. 2014 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP