Hallo zusammen,
folgendes Problem:
Ich verwende innerhalb eines Makros mehrere Selektionen. Die erste Selektion wäre ein Body, die zweite Selektion sind mehrere Parts, in denen die Bodies mit dem Namen der ersten Selektion herausgefiltert werden. So weit funktioniert alles bestens.
Die gefilterten Bodies will ich nun kopieren und genau da streikt CATIA, bzw mein Wissen der Makroprogrammierung. Der Befehl xxx.Copy wird als Fehler herausgeschmissen.
Irgendwelche Ideen oder Denkanstöße?
Makro:
' Selektion definieren --------------------------------------------------------------
' Auswahl festlegen ----------------------------------------------------------
Dim selElements(0)
selElements(0) = "Body"
' Selektion definieren und leeren --------------------------------------------
Dim userSel1 As Object
Set userSel1 = CATIA.ActiveDocument.Selection
userSel1.Clear
'Selektion vornehmen lassen -------------------------------------------------
Dim E As String
E = userSel1.SelectElement2(selElements, "zu kopierende Publikation auswählen.", True)
'Auf Namen des selektierten Bodies zugreifen ---------------------------------
Dim oSelElem As SelectedElement
Set oSelElem = CATIA.ActiveDocument.Selection.Item(1)
Dim searchString1 As String
searchString1 = oSelElem.Value.Name
' Selektion der Parts, in denen String gesucht und selektiert werden soll -------------------
Dim selElements2(0)
selElements2(0) = "Part"
' Selektion definieren und leeren --------------------------------------------
Dim userSel2 As Object
Set userSel2 = CATIA.ActiveDocument.Selection
userSel2.Clear
'Selektion vornehmen lassen -------------------------------------------------
Dim F As String
F = userSel2.SelectElement2(selElements2, "CATPart wählen.", True)
Dim oSelElem2 As SelectedElement
Set oSelElem2 = CATIA.ActiveDocument.Selection.Item(1)
Dim foundString1 As Object
Set foundString1 = oSelElem2.Document.Part.Bodies.GetItem(searchString1)
foundString1.Copy '<<--- hier ist Feierabend
Dim selElements3(0)
selElements3(0) = "Part"
' Selektion definieren und leeren --------------------------------------------
Dim userSel3 As Object
Set userSel3 = CATIA.ActiveDocument.Selection
userSel3.Clear
'Selektion vornehmen lassen -------------------------------------------------
Dim G As String
G = userSel3.SelectElement2(selElements3, "CATPart wählen.", True)
Dim oSelElem3 As SelectedElement
Set oSelElem3 = CATIA.ActiveDocument.Selection.Item(1)
'oSelElem3.Add (foundString1)
oSelElem3.Paste
MfG
Thomas
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP