VBA-Makro-Problem für Solidworks

Guten Abend

 

Ich bin ein großer Neuling in VBA.

 

Ich versuche, ein Makro zu entwickeln, mit dem Sie ein Dialogfeld öffnen können, in dem Sie die Länge und Höhe eines Geländers ändern können.

Nun, bis zum Öffnen des Makros funktioniert es ziemlich gut, aber sobald es darum geht, die Bemaßungswerte in der Skizze zu ändern..... Großer Haken.

 

Es sendet mir einen Ausführungsfehler '91' zurück.... Ein Klassiker, wie es scheint..;)

 

Ich kann die Lösung nicht finden.

 

Ich hänge das Dokument und das Makro an.

 

Vielen Dank im Voraus für Ihre Hilfe!


garde-corps_test.zip

Hallo

 

wie manche Leute sagen würden, fragen Sie "Lucas Prieur" um Hilfe, er kennt sich sehr gut mit Makro aus!!

5 „Gefällt mir“

oder @jfaradon, es funktioniert auch!

3 „Gefällt mir“

Hallo

 

Tatsächlich wird das Ereignis "UserForm_activate" nie aufgerufen... swDoc ist also tjrs nichts

 

Ersetzen Sie "UserForm_activate" durch  "UserForm_Initialize"

Und es wird viel besser funktionieren...

 

7 „Gefällt mir“

Ich habe das geänderte Makro wieder eingefügt


garde-corps_test.zip
5 „Gefällt mir“

Ich war hier nicht der Schnellste!

1 „Gefällt mir“

Tag zusammen

 

Vielen Dank für Ihre Hilfe und besonders an Sie, Jfaradon! Es funktioniert mit Gottes Feuer, wenn ich das so sagen darf.

 

Na ja, und wenn ich es missbrauchen kann........ Ich habe mich gefragt, ob es möglich ist, dass dieses Dialogfeld automatisch angezeigt wird, wenn ich mein Teil in eine Baugruppe einfüge?

 

Vielen Dank

Um diese Art der Automatisierung durchzuführen, ist es komplizierter, Sie müssen ein SW-Add-In erstellen, das die Ereignisse der Anwendung verwaltet. Tatsächlich müssen Sie mehr als ein Makro programmieren, Sie müssen ein Entwicklungstool wie Microsoft Visual Studio durchlaufen.

 

Hierfür gibt es ein myCAD-Tool namens CustomToolBar, in dem es möglich ist, ein Makro in Bezug auf Ereignisse (z.B. Einfügen einer Komponente) auszulösen

Ohne dieses Tool ist es jedoch einfacher, eine Makroverknüpfung in den Symbolleisten zu erstellen.

 

2 „Gefällt mir“