Malgré toutes les questions déjà posées au sujet des macros pour un enregistrement en PDF sur Solidworks (2014 dans mon cas), je ne trouve rien correspondant à mon problème.
J'aimerais une macro qui enregistre le plan en PDF dans le dossier actuel, avec le nom de fichier actuel, mais n'ayant aucune connaissance en code VBA, impossible pour moi de modifier le code à la ligne du chemin ou va s'enregistrer le PDF, malgré pas mal de recherche sur internet.
J'ai créé une macro par apprentissage que voici, il ne reste qu'à modifier cette fameuse ligne.
Dans mon cas, la macro enregistrera toujours les PDF avec le nom "1841-22" dans le dossier "1841", alors que pour un plan "1836-12", je l'aimerais dans le dossier "1836", le tout en ayant une seule macro commune pour tous mes dossiers, et non une macro pour chaque dossier.
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 Dim myModelView As Object Set myModelView = Part.ActiveView myModelView.FrameState = swWindowState_e.swWindowMaximized Part.ViewZoomtofit2 Part.ViewZoomtofit2 Part.ViewZoomtofit2 longstatus = Part.SaveAs3("M:\Bureau d'étude\Produits\1800-49\1841\1841-22.PDF", 0, 0) End Sub
'obtient le chemin complet du document actif, y compris le nom du fichier : PathName = UCase(PArt.GetPathName)
Dim myModelView As Object Set myModelView = Part.ActiveView myModelView.FrameState = swWindowState_e.swWindowMaximized Part.ViewZoomtofit2 Part.ViewZoomtofit2 Part.ViewZoomtofit2 longstatus = Part.SaveAs3(Replace(PathName,"SLDDRW","PDF") , 0, 0) End Sub
Après plusieurs mois d'essai concluant grâce à la macro de .PL (je te remercie encore), je reviens vers vous pour un petit détail qui commence à m'embêter.
Lorsqu'un plan .PDF est ouvert à l'atelier pour consultation et que je dois faire une modif. sur ce même plan directement sur Solidworks, et que j'utilise cette macro PDF, Solidworks plante et se ferme, car il ne peut pas écraser le fichier PDF puisqu'il est déjà ouvert.
Cependant quand j'essaye d'enregistrer en .PDF le plan en passant par Fichier-Enregistrer sous-.PDF, le message "Ce fichier est en lecture seule" apparait et permet à Solidworks de ne pas planter.
Serait-il possible de récupérer une ligne de code dans ma macro qui me permettrais d'avoir ce message lorsque le fichier est déjà ouvert, et de ne pas faire planter Solidworks?