Bonjour à tous,
J'ai récupéré sur le forum une macro pour enregistrer mes MEP Solidworks en PDF, mon soucis est que la macro modifie le nom du PDF et ca je n'aimerais pas.
J'ai déjà supprimé les lignes dont je n'ai pas besoin, mais ce n'est pas encore bon...
Quelqu'un pourrait s'il vous plait, me modifier la macro pour que le nom du fichier reste comme la MEP, j'aimerais garder les 2 emplacements d'enregistrements.
La macro :
' On définit les variables nécessaires
Dim swApp As Object
Dim swModel As SldWorks.ModelDoc2
Dim swCustProp As CustomPropertyManager
Dim valOut1 As String
Dim valOut2 As String
Dim valOut3 As String
Dim resolvedValOut1 As String
Dim resolvedValOut2 As String
Dim resolvedValOut3 As String
Dim Path As String
Dim PathDesktop As String
Dim swModelDocExt As SldWorks.ModelDocExtension
Dim swExportPDFData As SldWorks.ExportPdfData
Dim nFileName As String
Dim nFileName2 As String
Dim boolstatus As Boolean
Dim lErrors As Long
Dim lWarnings As Long
Dim lgFichier As Integer
Sub main()
' On se raccroche à Solidworks
Set swApp = Application.SldWorks
' On récupère le document actif dans Solidworks
Set swModel = swApp.ActiveDoc
' On vérifie qu'un document est bien ouvert dans Solidworks
If swModel Is Nothing Then
MsgBox "Un document doit être actif dans Solidworks.", vbCritical
End
End If
' On vérifie que le document ouvert dans Solidworks est un plan
If swModel.GetType <> swDocDRAWING Then
MsgBox "Le document actif dans Solidworks doit être un plan.", vbCritical
End
End If
' On vérifie que le plan ouvert dans Solidworks est bien enregistré
If swModel.GetPathName = "" Then
swModel.Save
End If
' On récupère le chemin du dossier d'enregistrement du plan
Path = swModel.GetPathName
lgFichier = InStrRev(Path, "\", -1, vbTextCompare) - 1
If lgFichier > 0 Then
Path = Left(Path, lgFichier)
End If
' On récupère le chemin du bureau Windows
PathDesktop = Environ("USERPROFILE") & "\Desktop"
' On définit les paramètres d'export en PDF
Set swModelDocExt = swModel.Extension
Set swExportPDFData = swApp.GetExportFileData(1)
swExportPDFData.ViewPdfAfterSaving = False
' On définit le chemin et le nom du premier fichier pdf à créer
nFileName = Path & "\" & resolvedValOut1 & " - " & resolvedValOut2 & " - Ind." & resolvedValOut3 & " - " & dateNow & ".PDF"
' On sauvegarde le premier fichier pdf
boolstatus = swModelDocExt.SaveAs(nFileName, 0, 0, swExportPDFData, lErrors, lWarnings)
' On définit le chemin et le nom du deuxième fichier pdf à créer
nFileName2 = PathDesktop & "\" & resolvedValOut1 & " - " & resolvedValOut2 & " - Ind." & resolvedValOut3 & " - " & dateNow & ".PDF"
' On sauvegarde le deuxième fichier pdf
boolstatus = swModelDocExt.SaveAs(nFileName2, 0, 0, swExportPDFData, lErrors, lWarnings)
End Sub
Merci d'avance.