Bonjour,
J'ai une marco sous excel permettant de modifier un fichier solidworks.
Cependant, je voudrais savoir comment réussir à fermer complétement solidworks avec ma macro excel?
J'arrive à fermer mon fichier mais solidworks reste ouvert...
Est ce que quelqu'un aurait une solution?
Bonjour,
Voilà un bout de code qui devrait répondre à cette question :
'closes solidworks
Sub DeactivateSolidWorks()
On Error Resume Next
swApp.ExitApp
'Try to Activate Solidworks, however, it always appears that the while loop is never entered
Set swApp = GetObject(, "SldWorks.Application")
'wait until solidworks has ended
Do While Err.Number = 0
Set swApp = GetObject(, "SldWorks.Application")
Loop
'***note I have also tried. this seems to make the situation worse some how
'Application.Wait Now + TimeValue("00:00:10")
End Sub
Source :
https://forum.solidworks.com/thread/56449
1 « J'aime »
Bonjour,
par code regarder l'API
SldWorks::ExitApp.
Sinon il est egalement possible de tuer le process (c'est un peu moin propre mais radicale)
Soit par les outils de la frameWorks Process
Soit en executant un .Bat contenant
taskkill /f /im sldworks.exe /t
taskkill /f /im solidworkslicensing.exe /t
taskkill /f /im solidworkslictemp.0001 /t
taskkill /f /im sldexitapp.exe /t
taskkill /f /im sldimscheduler.exe /t
taskkill /f /im sldboengine /t
7 « J'aime »
Autant pour moi, a priori la première réponse ne foncitonne pas, voir ici :
http://www.taltech.com/support/entry/opening_and_closing_an_application_from_vba
Ou ici :
http://www.excel-downloads.com/forum/183603-fermer-un-programme-en-vba-avant-autre-choix.html
Ou méthode radicale :
Shell "taskkill /f /im solidworks.exe", vbHide
Merci pour vos réponses si rapide.
Bonjour,
Ma réponse sort un peu du context Excel. Mais cela peut servir à d'autres utilisateurs. Pour être sûr de fermer proprement SolidWorks, après un plantage par exemple, vous pouvez lancer ce fichier bat.
Cordialement
killsw.bat
4 « J'aime »