Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Probleme mit SelectElement in VBA

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Probleme mit SelectElement in VBA (7425 mal gelesen)
torspezialist
Mitglied



Sehen Sie sich das Profil von torspezialist an!   Senden Sie eine Private Message an torspezialist  Schreiben Sie einen Gästebucheintrag für torspezialist

Beiträge: 44
Registriert: 29.06.2003

erstellt am: 19. Jul. 2004 21:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Selektion.jpg

 
Hallo zusammen,

hoffentlich kann mir jemand helfen. Ich muß am DO eine Ausarbeitung zu einem Makro abgeben, in dem der User interaktiv einen Block oder eine Linie aus einem CATpart auswählen soll und der Name dieses ausgewählten Elements in eine Textbox eines USERForms (VBA) übernommen wird.
Leider hat VBA mit der Anweisung SelectElement irgendein Problem (siehe angehängtes Bild). Der Quellcode stammt von meiner "Ziethen-Bibel", allerdings klappt es in VBA nicht (siehe Fehlermeldung)
Ich bin am Verzweifeln und daher für jeden Tip und jeden Beispielcode WIRKLICH DANKBAR!!!!

Gruß
Torspezi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

em Michael Kirsch
Mitglied
Teamleiter KBE Methoden & Tools


Sehen Sie sich das Profil von em Michael Kirsch an!   Senden Sie eine Private Message an em Michael Kirsch  Schreiben Sie einen Gästebucheintrag für em Michael Kirsch

Beiträge: 222
Registriert: 21.10.2002

CATIA V5 R16
CATIA V5 R18
CATIA V5 R19
NX 5
NX 6
NX 7.5

erstellt am: 19. Jul. 2004 23:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für torspezialist 10 Unities + Antwort hilfreich

Hallo torspezialist,

laut Dokumentation ist die Funktion SelectElement der Klasse Selection "deprecated", d. h. wird nicht mehr unterstützt. An deren Stelle tritt nur die Funktion SelectElement2 mit identischer Syntax.

Es müsste also bei Dir heißen:
E = UserSel.SelectElement2("....")

Viele Grüße,

Michael Kirsch

------------------

www.em.ag

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bartleby
Mitglied



Sehen Sie sich das Profil von Bartleby an!   Senden Sie eine Private Message an Bartleby  Schreiben Sie einen Gästebucheintrag für Bartleby

Beiträge: 102
Registriert: 17.06.2004

Win XP V5R12 SP3, SP5
Win 2000 SP4 V5R12 SP3

erstellt am: 20. Jul. 2004 07:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für torspezialist 10 Unities + Antwort hilfreich


selectElement2.JPG

 
Noch nicht ganz, auch mit der SelectElement2("") gehts noch nicht die Fehlermeldung ist und bleibt die selbe. Was mir noch aufgefallen ist: auch die Definition von "E As CATBSTR" ist ausgeblendet weil's net als benutzerdefinierte Variable existiert so die Fehlermeldung, also kann er mit CATBSTR nicht als Catia-Bezeichnungs-Var. erkennen, macht aber nix hab mal Variant vereinbart, da macht man nix falsch.
(evtl. unterschied VB-VBA-CatScript?)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bartleby
Mitglied



Sehen Sie sich das Profil von Bartleby an!   Senden Sie eine Private Message an Bartleby  Schreiben Sie einen Gästebucheintrag für Bartleby

Beiträge: 102
Registriert: 17.06.2004

Win XP V5R12 SP3, SP5
Win 2000 SP4 V5R12 SP3

erstellt am: 20. Jul. 2004 08:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für torspezialist 10 Unities + Antwort hilfreich

Das ist es.
Ich habe den Quellcode mal als CatScript abgelegt und laufen lassen, das funzt und den "CATBSTR" kennt er dann auch also gibts doch eine Anwendung ein CatScript als procedure in nem VBA-Script auszuführen?!

Im CatVBS meckert er schon die Selection als Variable an,
im CatVBA will er von SelectElement und CATBSTR nix wissen.

siehe diese Frage von Fireman: http://ww3.cad.de/foren/ubb/Forum137/HTML/000764.shtml

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Tstone
Mitglied
Werkzeugkonstrukteur


Sehen Sie sich das Profil von Tstone an!   Senden Sie eine Private Message an Tstone  Schreiben Sie einen Gästebucheintrag für Tstone

Beiträge: 163
Registriert: 04.06.2003

Dell Precision 470
Intel Xeon CPU 3,00GHz
2GB Ram
Microsoft Windows XP
Catia V5 R18 SP6
VB2005

erstellt am: 20. Jul. 2004 09:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für torspezialist 10 Unities + Antwort hilfreich

Hallo
Versuch doch mal der Variabel UserSel keinen Typ zuzuweisen.
Also nur:

Dim UserSel

Dadurch kommt es zu einer späten Bindung, bei mir hat das geholfen!

------------------
Grüße TStone
  "Respektiere die Macht der Worte, wähle sie mit Bedacht!"

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

GeorgK
Mitglied



Sehen Sie sich das Profil von GeorgK an!   Senden Sie eine Private Message an GeorgK  Schreiben Sie einen Gästebucheintrag für GeorgK

Beiträge: 619
Registriert: 06.06.2001

erstellt am: 20. Jul. 2004 11:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für torspezialist 10 Unities + Antwort hilfreich


Sub CATMain ()

' Auswahl festlegen -----------------------------------------------
  Dim Was(1)
  Was(0) = "Pad"
  Was(1) = "Line"

' Selektion definieren und leeren ---------------------------------
  Dim UserSel As Selection
  Set UserSel= CATIA.ActiveDocument.Selection
  UserSel.Clear

' Selektion vornehmen lassen --------------------------------------
  Dim E As CATBSTR
  E = UserSel.SelectElement(Was, "Pad oder Linie wählen.", true)

  If E = "Normal" Then
      MsgBox(UserSel.Item(1).Value.Name)
  Else
      MsgBox ("Abbruch")
  End If

' Selektion freigeben --------------------------------------------
  UserSel.EndSelectElement
  UserSel.Clear

End Sub

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

torspezialist
Mitglied



Sehen Sie sich das Profil von torspezialist an!   Senden Sie eine Private Message an torspezialist  Schreiben Sie einen Gästebucheintrag für torspezialist

Beiträge: 44
Registriert: 29.06.2003

erstellt am: 20. Jul. 2004 21:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo noch einmal,

vielen Dank für die zahlreichen Antworten.
Ich habe mich noch einmal selbst drangesetzt und die Lösung gefunden:
Die Deklaration als "Selection" war das Problem!!!
In VBA solte man eine Selektion einfach als "OBJECT" deklarieren, dann läuft es - obwohl ich das schon merkwürdig find...

Nochmals danke für Eure Antworten...bis demnächst

Torspezi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Str
Mitglied
 


Sehen Sie sich das Profil von Str an!   Senden Sie eine Private Message an Str  Schreiben Sie einen Gästebucheintrag für Str

Beiträge: 119
Registriert: 17.01.2001

erstellt am: 24. Jan. 2006 14:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für torspezialist 10 Unities + Antwort hilfreich

Toll, 10Punkte
Str

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz