VBA Excel pour SolidWorks

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.

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 »

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 »

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 »

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 »

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 »

Je parviens à ouvrir la pièce et à modifier les propriétés.

Merci à Lucas...

1 « J'aime »