Incrémentation auto nom de fichier macro

Bonjour,

 

J'ai un assemblage avec 50 configurations, et je souhaite avoir une image de chaque configuration.

Pour cela j'ai créé une macro qui me donne :

 

______________________________________________________________________________________________

 

Dim swApp As Object

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

 

Sub main()

 

Set swApp = _
Application.SldWorks

 

Set Part = swApp.ActiveDoc
Dim myModelView As Object
Set myModelView = Part.ActiveView
myModelView.FrameState = swWindowState_e.swWindowMaximized
boolstatus = Part.Extension.SelectByID2("1@Assemblage1.SLDASM", "CONFIGURATIONS", 0, 0, 0, False, 0, Nothing, 0)

 

For I = 1 To 50

 

boolstatus = Part.ShowConfiguration2(I)
boolstatus = Part.ForceRebuild3(True)
longstatus = Part.SaveAs3("C:\Users\michel2\Desktop\Macro\I.JPG", 0, 0)

 

Next I

 

End Sub

 

________________________________________________________________________________________________________

 

 

J'ai créé une boucle avec "For I = 1 to 50" et "Next I" avec mes étapes au milieu :

ligne 1 : choix de la configuration

ligne 2 : reconstruire

ligne 3 : enregistrer en JPG dans le chemin pécifié

 

Le soucis que j'ai quand je lance ma macro est que je vois bien défilé mes configurations, mais à la fin je n'ai qu'une image de la dernière configuration de sauvegardée (nomée I.JPG), Le I ne s'incrémente pas dans le nom de fichier (ligne 3) et du coup à chaque nouvel enregistrement le fichier I.JPG est supprimé et remplacer par le nouveau.

 

 

Est-ce qu'il y a un moyen d'incrémenter automatiquement le nom de fichier ? Si quelqu'un a un exemple de macro...

 

Merci d'avance pour votre aide.

 

 

Bonjour,

 

Tu peux regarder sur le lien ci-dessous si la macro te convient. (ou à modifier)

http://www.3dcontentcentral.fr/macros/184/files/macro.aspx?id=179396

 

s.b

1 « J'aime »

Salut !

Je pense qu'il faut faire une variable "Nom de fichier + Nom de config " et la mettre dans le save as ...

 

1 « J'aime »

Bonjour,

 

En fait ton "For I = 1 To 50" est correct, mais tu ne l'applique pas à ton nom de fichier !

 

 

Il faut remplacer la ligne :

 

longstatus = Part.SaveAs3("C:\Users\michel2\Desktop\Macro\I.JPG", 0, 0)

 

Par :

 

longstatus = Part.SaveAs3("C:\Users\michel2\Desktop\Macro\" & I & ".JPG", 0, 0)

 

Et ça fonctionne !

3 « J'aime »

Merci s.b ta réponse m'a aidé mais celle de Lucas est mieux.

Merci Lucas, ça marche nikel, je l'avais déjà fait hier mais sans les espaces vers le & et ca ne marchait pas...

1 « J'aime »