Aufrufen eines Makros über ein Benutzerformular

Hallo

Da ich mehrere Makros habe, möchte ich ein sauberes Layout erstellen, um die passenden Makros auszuwählen. Also habe ich ein Makro erstellt, das ein Benutzerformular öffnet, das verschiedene Schaltflächen enthält. Über diese Schaltflächen möchte ich meine verschiedenen Makros öffnen. Das Problem ist, dass ich keine Ahnung habe, wie ich sie benutzen soll.

Ich habe es damit versucht:

Privater Sub CommandButton2_Click()
Dim swApp als SldWorks.SldWorks

Legen Sie swApp = Application.SldWorks fest
    
RunMacro "\\***-srv-fic-01.******.local\OneDrive$\_Solidworks resources\Templates ******\Macro.swp", "Macro", "main"
    

Sub RunMacro(Pfad als Zeichenfolge, Modulname als Zeichenfolge, procName als Zeichenfolge)
swApp.RunMacro2 Pfad, moduleName, procName, swRunMacroOption_e.swRunMacroUnloadAfterRun, 0
Ende Sub
Ende Sub

Leider funktioniert es nicht. Hat jemand eine Idee? Vielleicht mit der Call-Funktion (ich habe es versucht, aber es hat nicht funktioniert, ich habe die Funktion möglicherweise falsch codiert)

Vielen Dank

Herzliche Grüße

So rufen Sie ein Makro auf:

https://www.codestack.net/solidworks-api/application/frame/run-macros-group/

Andernfalls können Sie vielleicht die benutzerdefinierte Symbolleiste in den Visitiv-Tools verwenden, mit der Sie ein Menü mit allen Makros + Symbol erstellen können:

https://help.visiativ.com/mycadtools/2020/fr/CustomToolBar.html

Vielen Dank für die Antwort 

Den Code auf Codestack kenne ich, es ist sogar der, den ich als Beispiel verwendet habe, aber er funktioniert nicht für die Schaltfläche eines Benutzerformulars. 

Für mycadtools bin ich nicht dagegen, aber mein Unternehmen wird nicht sofort investieren, deshalb habe ich einige Makros entwickelt, um bestimmte Prozesse zu automatisieren. Und deshalb möchte ich ein sauberes Layout erstellen, damit es schön und übersichtlich ist.

Herzliche Grüße

Für Mycadtools-Tools haben Sie normalerweise Zugriff darauf, da wir in Ihrem Profil sehen, dass Sie Mycadservice abonniert haben.

Haben Sie es für den Code aus dem Benutzerformular mit einem Makro versucht, das von einem traditionelleren Laufwerk gespeichert wurde? (z.B. c:\Temp\Macro.swp)

Ich habe es versucht, aber es funktioniert auch nicht. Ich bin immer noch auf der Suche, aber ich mache Knoten in meinem Gehirn. Ich habe den Code-Stack noch einmal überprüft, aber es gibt auch nichts.

Es gäbe die Lösung, alle Makros in jedem Knopf des Benutzerformulars zu programmieren, aber es ist fast unmöglich, weil ich eine unkalkulierbare Anzahl von Variablen habe, es gibt nichts Besseres als das, um Fehler zu machen.

Das ist der Punkt, an dem ich bin, wenn jemand seinen Stein zum Gebäude hinzufügen möchte, ist er willkommen.

Vielen Dank

Herzliche Grüße 

Hallo

Siehe angehängte Makros. Sie müssen macro1, macro2 und macro3 in den Ordner "C:\temp\" legen und dann das Makro "MacroLaunchViaUserForm.swp" ausführen

Herzliche Grüße


macrolaunchingviauserform.swp
Makro1.swp
macro2.swp
macro3.swp
2 „Gefällt mir“

Hallo

Eine dumme Frage; Aber warum platzieren Sie Ihre Makros nicht in der "Makro"-Leiste mit schönen Symbolen, um ihre Verwendung zu kennen.

https://www.lynkoa.com/forum/2d/creer-un-bouton-macro

1 „Gefällt mir“

Oder klicken Sie mit der rechten Maustaste auf eine Befehlsleiste==>benutzerdefiniert==>Befehl==> dann geben Sie Makro ein und greifen das letzte Symbol und ziehen es per Drag & Drop in die Leiste und folgen  den Anweisungen...

1 „Gefällt mir“

@d.roger Es ist großartig, danke, ich war schon so oft davor, es war so einfach. Es funktioniert wunderbar, vielen Dank nochmal.

@ac cobra 427 Eigentlich war es am Anfang die Idee, aber ich habe jetzt 8 Makros und vielleicht später mehr. Das Überschreiben der Befehlsleiste ist also auch nicht die beste Option, daher mein Wunsch, ein Benutzerformular zu erstellen, das alle Schaltflächen gruppiert, so dass eine einfache Schaltfläche in der Befehlsleiste erforderlich ist.

Nochmals vielen Dank an Sie und einen schönen Tag.

Herzliche Grüße   

1 „Gefällt mir“