Hi,
so hat's auch ausgesehen.
Über
... View.Texts.item(i).AssociativeElement.Name
oder
... View.Texts.item(i).Leaders.Item(1).HeadTarget.Name
lässt sich das mit dem Text verknüpfte Element bestimmen.
Der Weg wäre also:
- Doc zuweisen
- Sheet zuweisen
- Views durchlaufen
- in den Views die Texte durchlaufen
- die verknüpften Masse bestimmen
- Texte und Masse in einem Array oder Ähnlichem zwischenspeichern
- nach Excel übetragen
Nachdem in den Ansichten auch andere Texte existieren, wird das Hauptproblem sein zu erkennen,
welche Du brauchst.
Ein kleines Skript hierzu:
Code:
Option ExplicitSub catmain()
Dim oAdd As DrawingDocument
Dim oSh As DrawingSheet
Dim oVw As DrawingView
Dim n As Integer
Dim m As Integer
Dim oTxt As DrawingText
Set oAdd = CATIA.ActiveDocument
Set oSh = oAdd.Sheets.ActiveSheet
For n = 3 To oSh.Views.Count
Set oVw = oSh.Views.Item(n)
For m = 1 To oVw.Texts.Count
Set oTxt = oVw.Texts.Item(m)
If oTxt.Leaders.Count <> 0 Then
Debug.Print oTxt.Text, oTxt.Leaders.Item(1).HeadTarget.Name
End If
Next
Next
End Sub
Das VBA-Makro setzt voraus:
- es gibt ein geöffnetes Drawingdokument
- es gibt mehr als die zwei Standard-Views auf dem Sheet
- es existiert mindestens ein Text in jeder View
- die Texte(Ballons) sind mit einem Mass verknüpft
Es gibt keine Fehlerbehandlung. Werden obige Randbedingungen nicht erfüllt, knallt's.
Schreiben nach Excel und in ein Array fehlen.
Tschau,
Joe
------------------
Inoffizielle Catia Hilfeseite
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP