Bonjour à tous,
J'ai actuellement une macro qui me permet d'enregistrer en pdf mon document .slddrw en pdf sous le même répertoire et le même nom.
Jusque là tout va bien, le soucis c'est qu'il m'enregistre toutes les feuilles de ma mise en plan et je souhaite qu'il ne m'enregistre que la feuille active au moment où je lance ma macro.
Je suis sûr que la solution est simple mais rien à faire je ne trouve pas le bon code, voici la macro que j'ai récupéré su le forum et que j'utilise :
'**************************************************************************************************************************
'* Exemple de macro qui permet d'enregistrer les document au format PDF
'* Vous pouvez Changer l'extention pour enregistrer le document dans n'importe quelle format supporté par SW
'* Basé sur l'Exemple réalisé par Axemble "Saveas_pdf"
'* Modifier par MCD
'**************************************************************************************************************************
Sub main()
Dim swApp As SldWorks.SldWorks
Dim swmodel As SldWorks.ModelDoc2
Dim stPath As String
Dim lgFichier As Long
Dim blretval As Boolean
Dim Errors As Long
Dim Warnings As Long
Set swApp = Application.SldWorks
'on récupére le document actif
Set swmodel = swApp.ActiveDoc
If Not swmodel Is Nothing Then
'on vérifie que le fichier est enregisté
If swmodel.GetPathName = "" Then
MsgBox "Veuillez enregistrer votre document avant de lancer la macro", vbInformation
End
Else
'on récupére l'emplacement du fichier
stPath = swmodel.GetPathName
'on récupére le nombre de caractére jusqu'au . de l'extension
lgFichier = InStrRev(stPath, ".", -1, vbTextCompare) - 1
'on récupére le chemin sans l'extention
If lgFichier > 0 Then
stPath = Left(stPath, lgFichier)
End If
End If
'si le document est une pièce
If swmodel.GetType = swDocPART Then
'on créer le développé
'blretval = swmodel.ExportFlatPatternView(stPath & ".DXF", 1)
'on créer le DXF
'blretval = swmodel.SaveAs3(stPath & ".DXF", 0, 0)
MsgBox "C'est un fichier Piéce. Ouvrir la mise en plan pour faire le PDF", vbInformation
'si le document est une mise en plan
ElseIf swmodel.GetType = swDocDRAWING Then
'on créer le DXF
'blretval = swmodel.SaveAs3(stPath & "_drw.pdf", 0, 0)
'on créer le PDF
blretval = swmodel.SaveAs3(stPath & ".pdf", 0, 0)
End If
'on sauvegarde le fichier
blretval = swmodel.Save3(0, 0, 0)
End If
End Sub