Récupération nom de dossier sans chemin

Bonjour,

J'essaye de récupérer le nom de dossier (dossier client) puis le nom de sous dossier (dossier affaire) pour les afficher automatiquement dans mon cartouche.

Avec la propriété "folder name" j'arrive à afficher le chemin d'accès du dossier et non pas son nom, j'avais vu un tuto pour selectionner uniquement la partie recherchée dans ce chemin d'accès mais je n'arrive plus à mettre la main dessus. 

J'aimerais afficher dans mon cartouche  CLIENT ..........  AFFAIRE ............, tout deux tirés des dossiers windows .

Si possible sans utiliser PDM.

Merci .

Salut,

c'est possible avec une macro ou peut-être avec des équations, voir ces liens :

http://www.lynkoa.com/forum/solidworks/comment-recuperer-le-nom-d-un-fichier-avec-une-macro

http://www.lynkoa.com/store/fr/vba-solidworks-nom-fichier.html

 

1 « J'aime »

Merci PL

Mais moi j'aurais besoin de récupérer le nom de dossier et non le nom de fichier.

J'arrive à faire une macro mais uniquement pour un seul fichier, il faudrait quie je puisse récupérer le nom du dossier mais avec une liaison à la pièce. 

Je crois que j'ai trouvé quelque chose mais j'aurais besoin d'aide pour l'applique, je suis arrivé à copier et coller le code dans une macro, je lance la macro mais rien ne se passe. 

https://forum.solidworks.com/thread/65304#345645

Bonjour,

As tu bien adressé chaque variable comme il faut dans ta macro?

 

Option Explicit  

  

Sub main()  

  

    Dim swApp                      As SldWorks.SldWorks  

    Dim swModel                    As SldWorks.ModelDoc2  

    Dim swPart                      As SldWorks.PartDoc  

    Dim bRet                        As Boolean  

    Dim MyPath                      As String  

    Dim MyFolder                    As String  

  

    Set swApp = Applicatio.SldWorks  

    Set swModel = swApp.ActiveDoc  

    Set swPart = swModel  

  

    MyFolder = CurDir$   

    MyPath = Left(swModel.GetPathName, InStrRev(swModel.GetPathName, "\") - 1)  

    MyPath = Right(MyPath, Len(MyPath) - InStrRev(MyPath, "\"))  

  

    Debug.Print "File = " & swModel.GetPathName  

    Debug.Print "Folder = " & MyPath  

    Debug.Print "Current Folder = " & MyFolder  

  

  

End Sub

1 « J'aime »

Azrod , j'avoue ne rien y comprendre, j'ai copié ton code puis collé dans une nouvelle macro (il manque un "n" à " application.SldWorks, mais rien ne se passe, dans la fenêtre variables locales j'obtient : voir capture d'écran.

 


capture_macro1.png

J'ai ré essayé et j'obtient autre chose.


capture_macro2.png

Bonsoir,

A mon avis il y a probablement des erreurs à la compilation ou exécution.

Ci-joint une macro qui fonctionne sur une mise en plan et se base sur la première vue associée. A jouer avec si ça correspond pas exactement.


macro_dossier.txt
1 « J'aime »

J'ai encore une erreur 


capture_macro2.png

Essaye avec :

Dim  swApp       As    SldWorks.Application

2 « J'aime »

Je ne suis pas arrivé à faire se que je voulais faire, mais se n'est pas par manque d'aide sur le forum en tout cas , merci.

1 « J'aime »

Je n'avais ps vu to nsecond message. L'erreur que tu remontes est liée au fait que t uas deux fois Dim SwApp.