Bonjour à tous,
j'aimerais bien perfectionner le bout de code ci-dessous qui devrait me permettre d'imprimer directement le document actif en pdf. Le problème c'est quand je veux paramétrer les 'Filters' avec ' .Filters.Clear ' et ' .Filters.Add "PDF", "*.pdf" ' ça plante avec l'erreur suivante:
Erreur '438' : Propriété ou méthode non gérée par cet objet
Et je ne vois pas trop comment faire pour arriver à mes fins. NB,
l'exercice étant de l'appeller par son nom et extension , plutôt que par son index (La version index, fonctionne)
Merci d'avance pour votre aide et suggestions.
Sub Imprimer_Pdf()
Dim dlgSaveAs As FileDialog
Dim FileName As String
Dim result As Integer
' Nom du fichier actif sans extension
If InStrRev(ActiveDocument.Name, ".") > 0 Then
FileName = Left(ActiveDocument.Name, InStrRev(ActiveDocument.Name, ".") - 1)
Else
FileName = ActiveDocument.Name
End If
Set dlgSaveAs = Application.FileDialog(msoFileDialogSaveAs)
With dlgSaveAs
.InitialFileName = "D:\Documents\" & FileName
.Title = "Enregistrer sous"
.Filters.Clear
.Filters.Add "PDF", "*.pdf"
.FilterIndex = 1
result = .Show
If result = -1 Then ' L'utilisateur clique sur "Enregistrer"
' Imprimer le document en PDF
Else ' L'utilisateur clique sur "Annuler"
MsgBox "Opération annulée."
End If
End With
End Sub
Cordialement,
Emile
Office Professionnel plus 2021 (Word)
Partager