Comment récupérer le nom d'un fichier avec une macro?

Bonjour,

 

Venant de découvrir le fonctionnement des macros, j'aimerais un petit coup de pouece pour finir mon code. Après avoir fait différentes recherches, je n'ai pas réussi à faire tourner mon code comme je le souhaitais.

Le but de la macro à la base est simple, j'aimerais pouvoir récupérer le nom de mon fichier pour afiun de donner ce nom à mes configurations. En gros pour les fichiers pièces qui n'ont qu'une configuration, j'aimerais renommer toutes les configurations par le nom du fichier. Cela me permttra de pouvoir faire des nomenclature en choisissant nom de la configuration ety d'avoir tous les noms.

J'ai déja un bout de macro qui fonctionne mais il faudrait remplacer le XXXXX par le nom du fichier ce que je n'arrive pas à faire sinon quand je fais tourner ce code, il me renomme bien la configuration par XXXXX.

SW 15

Dim swApp As Object

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

Sub main()


Set swApp = Application.SldWorks

Set Part = swApp.ActiveDoc

boolstatus = Part.Extension.SelectByID2("Défaut", "CONFIGURATIONS", 0, 0, 0, False, 0, Nothing, 0)
boolstatus = Part.EditConfiguration3("Défaut", "XXXXX", "", "", 36)
longstatus = Part.SaveAs3("C:\Users\pdepuydt\Desktop\Test MAcro\embout 40x40 M10.SLDPRT", 0, 2)
End Sub

 

Merci d'avance

Hello

 

Je te fais suivre une macro qui permet d'enregistrer la vue camera en JPEG. La macro recupere le nom du fichier.

Je te laisse chercher, car c mon informaticien qui a modifier cette macro


camera_vers_jpeg.swp

Je retrouve effectivement dans ta macro des codes que j'ai trouvé sur internet mais en fait je n'arrive pas à lesz insérer dans la mienne afin que ca fonctionne.

Bonjour, 

essayes

Nomfichier = Part.GetPathName


(ou Nomfichier = Part.GetTitle je sais plus..)

1 « J'aime »

Où est ce que je l'insère ?

Il m'affiche des erreurs à chaque fois que j'essaye de le lancer

Salut,

J'ai rajouté dans ton code la solution de Martvy:

**********************

Dim swApp As Object

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

Sub main()


Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc

Nomfichier = Part.GetTitle


boolstatus = Part.Extension.SelectByID2("Défaut", "CONFIGURATIONS", 0, 0, 0, False, 0, Nothing, 0)
boolstatus = Part.EditConfiguration3("Défaut", Nomfichier, "", "", 36)


End Sub

**********************

Cette solution fonctionne bien, mais si dans l'explorateur Windows tu affiche les extensions de fichiers, alors ta configuration sera renommée avec le nom du fichier + sldprt

Mick

4 « J'aime »

Merci beaucoup ca fonctionne !

Par tout hasard comment faire pour enlever les extentions de nom de fichier ?

dans la macro ou dans Windows ?

Si c'est dans la macro, je ne suis pas assez caler en vba, si c'est dans Windows, c'est beaucoup plus simple :)

Bonjour,

A mon tour de rajouter dans le code.

Pour supprimer l'extension :

**********************

Dim swApp As Object

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

Sub main()


Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc

Nomfichier = Part.GetTitle

Nomfichier = Strings.Left(Nomfichier, Len(Nomfichier) - 7)


boolstatus = Part.Extension.SelectByID2("Défaut", "CONFIGURATIONS", 0, 0, 0, False, 0, Nothing, 0)
boolstatus = Part.EditConfiguration3("Défaut", Nomfichier, "", "", 36)


End Sub

**********************

 

3 « J'aime »