Comment utiliser VBA pour ouvrir et imprimer un fichier PDF
Visual Basic pour Applications (VBA) est le langage de programmation utilisé avec Microsoft Office pour permettre aux applications d'effectuer des tâches dynamiques, dont l'ouverture et l'impression de fichiers PDF. Pour effectuer cette tâche, vous avez besoin d'une compréhension de base du langage VBA et de l'éditeur VBA qui est installé avec chaque version des programmes Microsoft Office. Ce code peut être utilisé pour n'importe quelle application Microsoft Office.
Étape 1
Ouvrez l'éditeur VBA dans l'application Microsoft Office dans laquelle vous souhaitez saisir le code. Cliquez sur "Fichier"> "Outils"> "Macros"> "Visual Basic Editor" dans une application de Microsoft Office 2003 ou antérieure. Cliquez sur "onglet Développeur"> "Visual Basic" dans l'édition 2007 de Microsoft Office.
Étape 2
Cliquez n'importe où dans la fenêtre de code où vous souhaitez insérer le code.
Étape 3
Ajoutez le code pour ouvrir le fichier PDF. Votre code devrait ressembler à ceci :
Sub OpenPDF() Dim strPDFFileName As String 'Modifier pour ajouter le nom de fichier complet au fichier PDF que vous souhaitez ouvrir strPDFFileName ="C:\examplefile.pdf" 'Cette fonction suivante vérifie si le fichier n'est pas déjà ouvert Si Non FileLocked(strPDFFileName) Then 'Si cela renvoie False, alors continuez à ouvrir le fichier PDF Documents.Open strPDFFileName) End If End Sub
Copiez et collez ce code dans votre fenêtre de code. La seule partie du code que vous devrez modifier est le chemin d'accès complet au fichier PDF que vous souhaitez ouvrir. Remplacez donc "C:\examplefile.pdf" par votre propre chemin et nom de fichier.
Étape 4
Ajoutez le code pour imprimer le fichier PDF. Le code d'impression est :
Sub PrintPDF (strPDFFileName as string) Dim sAdobeReader as String 'Il s'agit du chemin d'accès complet à l'application Adobe Reader ou Acrobat sur votre ordinateur sAdobeReader ="C:\Program Files\Adobe\Acrobat 6.0\Reader\AcroRd32.exe" RetVal =Shell (sAdobeReader &"/P" &Chr(34) &sStrPDFFileName &Chr(34), 0) End Sub
La seule partie de ce code qui doit être modifiée est le chemin complet vers Adobe Reader, Acrobat ou tout autre lecteur PDF sur votre ordinateur.
Étape 5
Utilisez un déclencheur pour appeler les fonctions. C'est ainsi que le code saura quand s'exécuter. Utilisez le déclencheur que vous voulez ; un formulaire, un bouton, une case à cocher ou un autre élément de formulaire. Par exemple, utilisez la déclaration "Click" d'un bouton. Lorsque le bouton est cliqué, le document PDF s'ouvre puis s'imprime. Le code ressemble à ceci :
Sub CommandButton_Click() 'Appelez d'abord la fonction d'ouverture pour que le PDF puisse s'ouvrir avant l'impression Appelez OpenPDF 'Appelez maintenant la fonction d'impression pour que le PDF puisse être imprimé Appelez PrintPDF End Sub
Copiez simplement la partie centrale du code ci-dessus (entre Sub et End Sub) dans l'élément de formulaire et le déclencheur que vous décidez d'utiliser.
Astuce
Si vous utilisez la version 2007 et que vous ne voyez pas l'onglet "Développeur", cliquez sur le bouton "Office" puis sur le bouton "Options" en bas du menu. Cliquez sur "Afficher l'onglet Développeur sur le ruban" et cliquez sur "OK".