Macro équivalente à (Fichier/ouvrir sur dossier sécifique)

Bonjour,

Je cherche à créer une macro solidworks permettant de faire l'équivalent de fichier/ouvrir et pointant sur un dossier spécifique pour ensuite ouvrir le fichier de mon choix.

Merci de votre aide.

Lionel

Bonjour,

Une réponse ici :

Function SelectFolder(Optional Title As String, Optional TopFolder As String) As String

    Dim objShell As New Shell32.Shell

    Dim objFolder As Shell32.Folder

'If you use 16384 instead of 1 on the next line, files are also displayed

    Set objFolder = objShell.BrowseForFolder (0, Title, 1, TopFolder)

    If Not objFolder Is Nothing Then

        SelectFolder = objFolder.Items.Item.Path

    End If

End Function

 

http://www.your-save-time-and-improve-quality-technologies-online-resource.com/vba-select-folder.html

 

Merci pour la réactivité mais petit problème:

Il doit manquer la références correpondante, tu peux essayer de cocher quelque chose comme  

"Microsoft Shell Controls ..."

Dans le menu Outils > Références de VBA

1 « J'aime »

Excact .PL bien vu... ceci dit ce n'est qu'une sélection de dossier, impossible d'ouvrir un fichier.

L'idée est d'ouvrir un fichier en ayant "préselectionné" le dossier dans la macro.

Voir peut-être ici :

http://www.eng-tips.com/viewthread.cfm?qid=165464

Ou ici :

http://www.eng-tips.com/faqs.cfm?fid=1164

 

Quelque chose comme `swApp.GetOpenFileName(.....)` ?

 

http://help.solidworks.com/2013/english/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.ISldWorks~GetOpenFileName.html

 

Sa ouvre une fenêtre similaire au bouton "Ouvrir", tu peux sélectionner les filtres (Les types de fichiers à afficher), le fichier initiale, etc.
La fonction te retourne le chemin du fichier choisi, si l'utilisateur clique sur la croix, le chemin retourner est vide.

1 « J'aime »

Merci .PL on approche...

Comment déclarer un chemin spécifique?

En effet, avec get ça pourrait fonctionner, on a un exemple ici :

http://help.solidworks.com/2013/english/api/sldworksapi/Open_File_Example_VB.htm

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

Avec les instructions :
value = instance.GetOpenFileName(DialogTitle, InitialFileName, FileFilter, OpenOptions, ConfigName, DisplayName)
InitialFileName
Path and filename of the file to open
1 « J'aime »

En effet je n'avais pas vu les quotes ....

Un grand merci à toi .PL

Oups...répondu trop vite...

Pourquoi le fichier sélectionné pour ouverture ne s'ouvre t-il pas?

Je ne sais pas ! Je suis à court d'idée, ce n'est peut-être pas possible !

swApp.GetOpenFileName(...)

 

te retourne le chemin du fichier sous forme de `String` (Chaîne de caractère). 

Ensutie pour ouvrir le fichier il faut utiliser la fonction `swApp.OpenDoc6`
http://help.solidworks.com/2012/English/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.ISldWorks~OpenDoc6.html

Si tu veux de l'aide supplémentaire, utilise l'enregistreur de macro de SolidWorks et ouvre un fichier. Tu verras comment utiliser `swApp.OpenDoc6(...)`

 

Ps: Si tu as résolu ton problème, ajoute une "Meilleure réponse"