Boîte de dialogue "Ouvrir" macro Solidworks

Bonjour à tous,

Je cherche à ouvrir la boîte de dialogue "Ouvrir" via une macro afin que l'utilisateur puisse choisir le fichier à ouvrir.

Quelqu'un connait la commande à utiliser ?

Merci

1 « J'aime »

Bonjour, je te conseille une macro par apprentissage, voir ici :

 http://help.solidworks.com/2013/French/SolidWorks/sldworks/c_recording_playing_macros.htm

Tu peux aussi regarder ma macro enregistrer sous :

.PL,

Merci pour ta réponse.

J'ai déjà essayé l'enregistreur de macro mais le code est vide si j'ouvre uniquement la boîte de dialogue et la referme. Et si j'ouvre un fichier, le code obtenu fonctionne mais il faut un lien vers un fichier et je souhaite que ce soit l'utilisateur qui sélectionne le fichier à ouvrir.

Il n'y a pas de lien vers ta macro enregistrer sous.

1 « J'aime »

En effet, je viens de créer un tutoriel pour faire ceci :

http://www.lynkoa.com/tutos/import-export-formats-neutres/macro-solidworks-fen%C3%AAtre-ouvrir

 

1 « J'aime »

Merci pour ce tuto !

Cependant j'avais trouvé ce code sur l'API Solidworks qui ouvre bien la boite de dialogue mais lorsque je sélectionne un fichier (pièce ou assemblage), rien ne se passe.

La même chose se produit avec le code que tu as fourni.

As-tu une idée pourquoi ?

1 « J'aime »

Tu doubles cliques sur une pièce et rien en se passe ?

Oui c'est bien ça.

La boîte de dialogue se ferme et c'est tout, la pièce ne s'ouvre pas.

Le code fonctionne pour toi ?

Je peux pas tester maitnenant.

Tu es en quel version et SP de SolidWorks ?

Et quel est le but de la macro ? Il y a peut-être un moyen de contournement.

En fait la focntion GetOpenFileName renvoie le chemin du fichier sélectionné.

Pour l'ouvrir, il faut ajouter une ligne avec la commande OpenDoc6 avec fileName comme chemin.

Je mets le code ci-dessous (le chiffre après fileName dans la ligne "Set Part..." doit être 1 si on veut ouvrir une pièce et 2 pour un assemblage) :

 

Dim swApp As Object
Option Explicit

 
Public swModel                  As SldWorks.ModelDoc2

Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long


Sub Main()

 

Dim Filter                      As String

Dim fileName                    As String

Dim fileConfig                  As String

Dim fileDispName                As String

Dim fileOptions                 As Long

 

Set swApp = Application.SldWorks

Filter = "SolidWorks Files (*.sldprt; *.sldasm; *.slddrw)|*.sldprt;*.sldasm;*.slddrw|Filter name (*.fil)|*.fil|All Files (*.*)|*.*|"

fileName = swApp.GetOpenFileName("File to Attach", "", Filter, fileOptions, fileConfig, fileDispName)

Set Part = swApp.OpenDoc6(fileName, 2, 0, "", longstatus, longwarnings)

Debug.Print fileName

 
End Sub

 

Bonne journée

1 « J'aime »