Een macro aanroepen via een gebruikersformulier

Hallo

Omdat ik meerdere macro's heb, wil ik graag een schone lay-out maken om de juiste macro's te kiezen. Dus heb ik een macro gemaakt die een gebruikersformulier opent met verschillende knoppen. Ik wil graag mijn verschillende macro's openen via deze knoppen. Het probleem is dat ik geen idee heb hoe ik ze moet gebruiken.

Ik heb het geprobeerd met dit:

Privé Sub CommandButton2_Click()
Dim swApp als SldWorks.SldWorks

Stel swApp = Toepassing.SldWorks in
    
RunMacro "\\***-srv-fic-01.******.local\OneDrive$\_Solidworks bronnen\Sjablonen ******\Macro.swp", "Macro", "hoofd"
    

Sub RunMacro (pad als tekenreeks, moduleName als tekenreeks, procName als tekenreeks)
swApp.RunMacro2 pad, moduleName, procName, swRunMacroOption_e.swRunMacroUnloadAfterRun, 0
Einde Sub
Einde Sub

Helaas werkt het niet. Iemand een idee? Misschien met de Call-functie (ik heb het geprobeerd, maar het werkte niet, ik heb de functie mogelijk verkeerd gecodeerd)

Bedankt

Vriendelijke groeten

Een macro aanroepen:

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

Anders kunt u misschien gebruik maken van Customtoolbar in de Visiativ tools die u in staat stelt om een menu te maken met alle macro's + pictogram:

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

Bedankt voor het antwoord 

De code op codestack ik ken het, het is zelfs degene die ik als voorbeeld heb gebruikt, maar het werkt niet voor de knop van een gebruikersformulier. 

Voor mycadtools ben ik er niet tegen, maar mijn bedrijf gaat niet meteen investeren, daarom heb ik een aantal macro's ontwikkeld om bepaalde processen te automatiseren. En daarom wil ik een strakke lay-out maken zodat het mooi en overzichtelijk is.

Vriendelijke groeten

Voor Mycadtools-tools heb je er normaal gesproken toegang toe, aangezien we in je profiel zien dat je geabonneerd bent op Mycadservice.

Voor de code van de userform, heb je geprobeerd met een macro opgeslagen van een meer traditionele drive? (bijv. c:\Temp\Macro.swp)

Ik heb het geprobeerd, maar het werkt ook niet. Ik ben nog steeds op zoek, maar ik maak knopen in mijn hersenen. Ik heb de codestapel dubbel gecontroleerd, maar er is ook niets.

Er zou de oplossing zijn om alle macro's in elke knop van het gebruikersformulier te programmeren, maar het is bijna onmogelijk omdat ik een onberekenbaar aantal variabelen heb, er is niets beters dan dat fouten te maken.

Dat is waar ik ben, als iemand zijn steen aan het bouwwerk wil toevoegen, zijn ze welkom.

Bedankt

Vriendelijke groeten 

Hallo

Zie bijgevoegde macro's. U moet macro1, macro2 en macro3 in de map "C:\temp\" plaatsen en vervolgens de macro "MacroLaunchViaUserForm.swp" uitvoeren

Vriendelijke groeten


macrolaunchingviauserform.swp
macro1.swp
macro2.swp
macro3.swp
2 likes

Hallo

Een domme vraag; Maar waarom plaatst u uw macro's niet in de "macro" -balk met prachtige pictogrammen om hun gebruik te kennen.

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

1 like

Of klik met de rechtermuisknop op een opdrachtbalk ==>aangepast==>commando==> dan typ je macro en pak je het laatste pictogram en je sleept het naar de balk en je  volgt de instructies...

1 like

@d.roger Het is geweldig, dank je, ik heb er zo vaak voor gestaan, het was zo eenvoudig. Het werkt wonderwel, nogmaals bedankt.

@ac cobra 427 Het was inderdaad het idee in het begin, maar ik heb 8 macro's voor nu en misschien later meer. Het overschrijven van de opdrachtbalk is dus ook niet de beste optie, vandaar mijn wens om een gebruikersformulier te maken dat alle knoppen groepeert, zodat een eenvoudige knop in de opdrachtbalk noodzakelijk is.

Nogmaals bedankt en een fijne dag verder.

Vriendelijke groeten   

1 like