Comment utiliser VBA pour ouvrir et imprimer un fichier PDF
Visual Basic for Applications (VBA) est le langage de programmation utilisé avec Microsoft Office pour effectuer des tâches dynamiques, dont l'ouverture et l'impression de fichiers PDF. Pour cela, une compréhension basique du VBA et de l'éditeur VBA (inclus dans toutes les versions de Microsoft Office) est nécessaire. Ce code fonctionne pour toutes les applications Microsoft Office.
Étape 1
Ouvrez l'éditeur VBA dans l'application Microsoft Office où vous voulez entrer le code. Cliquez sur « Fichier » > « Outils » > « Macros » > « Éditeur Visual Basic » dans Office 2003 ou antérieur. Cliquez sur « Onglet Développeur » > « Visual Basic » dans Office 2007.
Étape 2
Cliquez n'importe où dans la fenêtre de code où vous voulez insérer le code.
Étape 3
Ajoutez le code pour ouvrir le fichier PDF. Il doit ressembler à ceci :
Sub OuvrirPDF()
Dim strPDFFileName As String
' Modifiez pour ajouter le chemin complet du fichier PDF à ouvrir
strPDFFileName = "C:\exemple.pdf"
' Vérifie si le fichier n'est pas déjà ouvert
If Not FichierVerrouille(strPDFFileName) Then
' Si False, continue l'ouverture
Documents.Open strPDFFileName
End If
End Sub
Copiez-collez ce code dans votre fenêtre. La seule partie à modifier est le chemin complet vers votre fichier PDF. Remplacez « C:\exemple.pdf » par votre propre chemin et nom de fichier.
Étape 4
Ajoutez le code pour imprimer le fichier PDF :
Sub ImprimerPDF(strPDFFileName As String)
Dim sAdobeReader As String
' Chemin complet vers Adobe Reader/Acrobat sur votre ordinateur
sAdobeReader = "C:\Program Files\Adobe\Acrobat 6.0\Reader\AcroRd32.exe"
RetVal = Shell(sAdobeReader & " /P " & Chr(34) & strPDFFileName & Chr(34), 0)
End Sub
Seule la partie chemin vers Adobe Reader/Acrobat ou tout lecteur PDF doit être modifiée.
Étape 5
Utilisez un déclencheur pour appeler les fonctions. C'est ainsi que le code saura quand s'exécuter. Utilisez ce que vous voulez : formulaire, bouton, case à cocher, etc. Exemple avec la déclaration « Click » d'un bouton : quand on clique, le PDF s'ouvre puis s'imprime.
Sub CommandButton_Click()
' Appelle d'abord l'ouverture pour que le PDF s'ouvre avant impression
Call OuvrirPDF
' Maintenant appelle l'impression
Call ImprimerPDF
End Sub
Copiez juste la partie centrale (entre Sub et End Sub) dans l'élément de formulaire et le déclencheur choisi.
Astuce
Si vous utilisez la version 2007 et ne voyez pas l'onglet « Développeur », cliquez sur le bouton « Office » puis « Options » en bas du menu. Cochez « Afficher l'onglet Développeur dans le ruban » et cliquez « OK ».
