Autor
|
Thema: UserSel kopieren (345 mal gelesen)
|
Spritty Mitglied
Beiträge: 21 Registriert: 03.04.2006
|
erstellt am: 03. Jun. 2006 20:57 <-- editieren / zitieren --> Unities abgeben:
Hallo V5-ler, hab mal wieder ein Problem: hab ein Makro mit UserSelection und diese UserSelektion soll dann kopiert werden. Das Makro läuft bis zum Zeitpunkt des .Copy ohne Fehler. Wahrscheinlich nur neKelinigkeit, aber ich find mal ihn Fehler nicht. Wäre super, wenn mir jemand weiter helfen könnte! Danke Hier mein Makro: Dim Was2 (0) Was2 (0) = "Body" Set UserSel2 = CATIA.ActiveDocument.Selection UserSel2.Clear wertok=0 do while wertok=0 E2 = UserSel2.SelectElement(Was2, "Firmenzeichen auswählen!", true) If E2 = "Normal" Then chk=msgbox (UserSel2.Item(1).Value.Name , vbYesNoCancel) If chk=vbYes Then wertok=1 If chk=vbCancel Then exit sub Else MsgBox ("Abbruch") End If loop UserSel2.Copy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Traumflug Mitglied Springer-Ingenieur
Beiträge: 3 Registriert: 03.06.2006
|
erstellt am: 04. Jun. 2006 04:49 <-- editieren / zitieren --> Unities abgeben: Nur für Spritty
Ausser dass Selection.SelectElement deprecated ist, die meisten Variablen nicht deklariert sind, UserSel2.Clear überflüssig und die Benutzerführung ziemlich umständlich ist, fällt mir da nichts auf. Wie wäre es mit MsgBox Cstr(UserSel2.Count) & " gewaehlte Elemente" und Ähnlichem vor dem Copy, um dahinter zu kommen, was überhaupt vor sich geht? Markus
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Spritty Mitglied
Beiträge: 21 Registriert: 03.04.2006
|
erstellt am: 04. Jun. 2006 18:17 <-- editieren / zitieren --> Unities abgeben:
Hallo Traumflug, mit MsgBox Cstr(UserSel2.Count) & " gewaehlte Elemente" zählt das Makro die selektierten Elemente an. Mit msgbox (UserSel2.Item(1).Value.Name , vbYesNoCancel) zeigt er den Namen des selektierten Körper an. Und wie die UserSel2 kopiert?! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Traumflug Mitglied Springer-Ingenieur
Beiträge: 3 Registriert: 03.06.2006
|
erstellt am: 04. Jun. 2006 22:50 <-- editieren / zitieren --> Unities abgeben: Nur für Spritty
> mit > MsgBox [...] Richtig. > Und wie die UserSel2 kopiert?! Ob kopiert oder nicht kopiert, das macht für die Selektion keinen Unterschied. Wenn also die Voraussetzungen stimmen (es ist tatsächlich ein Element selektiert) bleibt die Frage, wie genau die Fehlermeldung lautet bzw. wie genau sich der Fehler manifestiert. Ein ON Error GOTO 0 wirkt da manchmal Wunder. Markus
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Simulationsingenieur (m/w/d) Insassenschutz | Die besten Köpfe für die unterschiedlichsten Aufgaben finden. Menschen und Technologien verbinden, und zwar täglich aufs Neue - dafür schätzen unsere Kunden FERCHAU. Unterstütze uns: als ambitionierte:r Mitarbeiter:in für einen unserer Kunden, der wie wir Technologien auf die nächste Stufe bringen möchte. Wir realisieren spannende Projekte für namhafte OEMs und Zulieferer der Automobilindustrie und überzeugen täglich mit fundierter Expertise und fachlichem Know-how.... | Anzeige ansehen | Weitere: Ingenieure und technische Berufe |
|
Spritty Mitglied
Beiträge: 21 Registriert: 03.04.2006
|
erstellt am: 05. Jun. 2006 22:34 <-- editieren / zitieren --> Unities abgeben:
Hallo Leute, hab endlich eine Lösung zu meinem Problem gefunden, mag zwar etwas umständlich sein, aber es funktioniert Set Liste1 = CATIA.ActiveDocument.Selection Set UserSel2 = CATIA.ActiveDocument.Selection
wertok=0 do while wertok=0 MsgBox ("Bitte ein Firmenzeichen im Strukturbaum selektieren!") Liste1.Clear UserSel2.Clear Dim Was2 (0) Was2 (0) = "Body" E2 = UserSel2.SelectElement(Was2, "Firmenzeichen auswählen!", false) chk=msgbox (UserSel2.Item(1).Value.Name , vbYesNoCancel, "Firmenzeichen OK?") If chk=vbYes Then wertok=1 If chk=vbCancel Then CATIA.Windows.Item(2).activate CATIA.ActiveDocument.Close Exit Sub End If loop Liste1.Search "'Part Design'.Körper.NAME =" & UserSel2.Item(1).Value.Name & ";Alle" Liste1.Copy Trotzdem Danke für deine Tipps Traumflug Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |