remrem
Septembre 2, 2014, 7:41
1
Bonjour à tous,
Je cherche à créer un code VBA sous Excel permettant de lancer Solidworks, d'ouvrir un fichier pièce ou assemblage SolidWorks et de modifier les propriétes de ce fichier.
N'ayant pas de connaisiances sur les macros SW. J'ai réalisé de nombreuses recherches sur le web, mais je ne parviens pas à ouvrir un fichier.
Je vous remercie par avance.
Bonne journée.
pl
Septembre 2, 2014, 7:45
2
Salut,
Il me semble que j'en avais fait une mais je n'arrive pas à mettre la main dessus !
Sinon regarde ce lien :
https://forum.solidworks.com/thread/69618
Mais a priori Excel ouvre un document SolidWorks (mais pas SolidWorks directement) :
'Link to Solidworks
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
If swModel Is Nothing Then
MsgBox "No document loaded" & vbCrLf & _
"Open a Solidworks Drawing first!", vbMsgBoxSetForeground + vbSystemModal
Else
'... suite du code
1 « J'aime »
pl
Septembre 2, 2014, 7:47
3
Et bien sûr ne pas oublié d'inclure les références SolidWorks dans Excel, sans quoi on ne peut rien faire du tout !
Voir ce lien :
http://www.cadsharp.com/blog/using-microsoft-excel-with-the-solidworks-api/
Plus spécifiquement cette partie :
Une fois la macro créée dans Excel, aller dans "Outils > Références" et cocher :
“SldWorks 20XX Type Library”
1 « J'aime »
remrem
Septembre 2, 2014, 8:00
4
Merci .PL pour ces réponses rapides.
Les liens sont intéréssants
Je ne saisi pas mon problème. Si par exemple j'utilise le code de l'exemple du second lien permettant d'afficher un message dans SW ne compile pas :
Dim swApp As SldWorks.SldWorks
Voir pièce jointe.
Merci.
capture.jpg
1 « J'aime »
remrem
Septembre 2, 2014, 8:09
5
Merci .PL.
Effectivement il fallait ajouter les “SldWorks 20XX Type Library”.
Maintenant les codes SW fonctionnent.
Je vous tient informé de la suite.
Merci.
1 « J'aime »
pl
Septembre 2, 2014, 8:58
6
Concernant les modifications des propriétés, je te conseille de regarde la macro que j'ai posté en tutoriel sur Lynkoa :
http://www.lynkoa.com/tutos/3d/macro-enregistrer-sous-avec-solidworks
Cette macro, où chaque ligne est commentée, modifie des propriétés (entre autre la propriété code).
Par exemple, pour affecter une propriété :
CODE = SWmoddoc.CustomInfo("code")
Pour ajouter une propirété :
retval = SWmoddoc.AddCustomInfo3("", "CODE", 30, NewCode)
1 « J'aime »
remrem
Septembre 2, 2014, 9:35
7
Je parviens à ouvrir la pièce et à modifier les propriétés.
Merci à Lucas...
1 « J'aime »