Ik heb onlangs gewerkt aan een VBA-klassemodule die ik start bij het opstarten van Solidworks met het commando "C:\Program Files\SolidWorks Corp\SolidWorks\SLDWORKS.exe" /m "hier het pad van de macro.swp".
Ik wil nu graag overstappen naar een .NET-gecodeerde class module, maar kan SOLIDWORKS niet starten met deze class. Heb je een voorbeeld om me te geven?
Ik gebruik de volgende code:
"C:\Program Files\SolidWorks Corp\SolidWorks\SLDWORKS.exe" /m "C:\Users\ClassLibrary1.dll" om de DLL te starten
Dank u voor uw antwoord. In feite had ik dit stukje code al ingevoerd om vanuit de klassemodule toegang te krijgen tot de functies van SOLID (document openen, opslaan ...) maar ik kan SOLIDWORKS niet starten met de klassemodule.
Ik zal meer op de SOLID-website kijken zodra ik op kantoor ben.
Probeer deze code: door deze aan te passen met SLDWORKS.exe en argumenteren het pad van uw deel
Exemplaar van de klasse Proces Dim proc als nieuw System.Diagnostics.Process() (') Naam van het uitvoerbare bestand dat moet worden gestart Proc. StartInfo.FileName = "iexplore.exe" ' Argumenten om door te geven aan het uitvoerbare bestand om te lanceren Proc. StartInfo.Arguments="http://www.developpez.com" ' Het proces starten Proc. Begin() "We maken de middelen vrij die we meer nodig hebben. Proc. Close() 'Let op: Close beëindigt het proces niet.
Ik denk dat het nuttig zou zijn om te testen of het proces al is gestart. Zie hiervoor deze track: http://dotnet.developpez.com/faq/vbnet?page=Systeme#Comment-lister-les-processus-en-cours-d-execution
Kun je ons iets meer vertellen over je VB.net project?
Importeert System.Diagnostics Module Module_principal Functie Verification_processus_SW() als Booleaanse Dim Processus_SW als System.Diagnostics.Process() = Process.GetProcessesByName("SLDWORKS") Zo Processus_SW. Tellen = niets dan Retour onwaar Anders Retourneren Waar Einde als Functie beëindigen
Sub Lancement_SW() Dim proc als nieuw proces() Proc. StartInfo.FileName = "C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\SLDWORKS.exe" ' Argumenten om door te geven aan het uitvoerbare bestand om te lanceren Proc. StartInfo.Arguments = "Chemin_de_ton_fichier.sldprt" ' Het proces starten Proc. Begin() "We maken de middelen vrij die we meer nodig hebben. "Proc. Close() 'Let op: Close beëindigt het proces niet. Einde Sub Einde module
Een knop of andere om te activeren met de code:
Selecteer Case Verification_processus_SW() Zaak onwaar Lancement_SW() Geval waar 'Code om toe te voegen voor het geval SW al actief is Einde selecteren Einde Sub
En door een nieuw project te proberen om de dll op te nemen, werkt het? De YouTube-tutorial is vrij eenvoudig, er staat maar één bestand met deze naam op de harde schijf?