C'est apparemment la fonction GetTitle que tu cherche. Donc dans ta macro il faut que tu récupère ce GetTitle et que tu retravaille le chemin de ton fichier avec le résultat obtenu du GetTitle.
GetTitle est une fonction de l'API qui permet de récupérer, sous forme de texte, le nom du fichier ouvert dans Solidworks, là tu as juste écrit que ton fichier PDF doit se nommer GetTitle.PDF.
Si tu n'as jamais fait de macro et/ou programmation il va soit d'abord falloir que tu te documentes un peu sur le fonctionnement d'un langage de programmation avant d'en faire, soit que tu poste ta macro complète et que tu expliques ce que tu souhaites modifier comme fonctionnement en espérant que quelqu'un veuille bien s'y coller.
J'avoue ne pas comprendre la remarque "Jusque la pas de soucis j'y arrive" du début de ta question.
Oui il faut que tu recupere en premier le nom de ton fichier avec la fonction getTitle.
J'avoue aussi pas bien comprendre le "Jusque la pas de soucis j'y arrive"...
Essaye ca :
'déclaration des variables
Dim swApp As Object
Dim Part As Object
Dim longstatus As Long
dim nomfichier as string
Sub enregistrement()
'initialisation des variables objet
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
'récupération du nom fichier part
Nomfichier = Part.GetTitle
'suppression de l'extension solidworks
Nomfichier = Strings.Left(Nomfichier, Len(Nomfichier) - 7)
'enregistrement du fichier en pdf
longstatus = Part.SaveAs3("C:\Users\dao\Desktop\MACRO_PDF-DWG\" & nomfichier & ".PDF", 0, 0)
end sub
Dans le fond je comprends comment ça marche si vous voulez, mais effectivement faut que je me pose plus sur le problème et la programmation.
En fait c'est relativement simple et je pense même que cette macro doit déjà exister.
Je souhaite juste que une fois que ma mise en plan est terminée, je clique sur un bouton, qui me génère un PDF et un DWG dans un dossier mais avec le nom de la mise en plan ouverte.
Si j'ouvre une nouvelle mise en plan, je souhaite que cette macro génère d'autres fichiers bien distinct et nommés avec cette mise en plan.
Je sais bien D.roger il y a eu un bug je ne voyais plus les commentaires on a du repondre en même temps en faite. Je test et reviens vers vous pour vous dire ;) Merci dans tous les cas :D
EDIT: Mon visual basic est en anglais est ce que ça peut jouer ?
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
Part.SheetPrevious
Part.SheetNext
boolstatus = Part.EditRebuild3()
' Redraw
Part.GraphicsRedraw2
' Zoom to Area
Part.ViewZoomTo2 0, 0, 0, 0.1, 0.1, 0.1
' Zoom to Area
Part.ViewZoomTo2 0, 0, 0, 0.1, 0.1, 0.1
' Zoom To Fit
Part.ViewZoomtofit2
' Redraw
Part.GraphicsRedraw2
' Save As
longstatus = Part.SaveAs3("C:\Users\dao\Desktop\MACRO_PDF-DWG\???.DWG", 0, 0)
' Save As
longstatus = Part.SaveAs3("C:\Users\dao\Desktop\MACRO_PDF-DWG\???", 0, 0)
End Sub
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
dim nomfichier as string
Sub main()
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
Part.SheetPrevious
Part.SheetNext
boolstatus = Part.EditRebuild3()
' Redraw
Part.GraphicsRedraw2
' Zoom to Area
Part.ViewZoomTo2 0, 0, 0, 0.1, 0.1, 0.1
' Zoom to Area
Part.ViewZoomTo2 0, 0, 0, 0.1, 0.1, 0.1
' Zoom To Fit
Part.ViewZoomtofit2
' Redraw
Part.GraphicsRedraw2
'récupération du nom fichier part
Nomfichier = Part.GetTitle
'suppression de l'extension solidworks
Nomfichier = Strings.Left(Nomfichier, Len(Nomfichier) - 7)
' Save As
longstatus = Part.SaveAs3("C:\Users\dao\Desktop\MACRO_PDF-DWG\" & nomfichier & ".DWG", 0, 0)
' Save As
longstatus = Part.SaveAs3("C:\Users\dao\Desktop\MACRO_PDF-DWG\" & nomfichier & ".pdf", 0, 0)
End Sub
Et je pense que tes zoom dépendront de la position de départ, donc je pense qu'il vaut mieux que tu cadre toi meme avant d'enregistrer.
Tu trouveras ICI un fil de discussion qui a traité le sujet sur l'apprentissage de la programmation sur Solidworks, je te conseille de le lire jusqu'au bout, tu y trouveras tout un tas de liens intéressant.