Pour imprimer un document Word, vous pouvez utiliser la méthode PrintOut pour imprimer le document entier ou uniquement une partie du document si vous le souhaitez. La macro suivante montre un exemple d’ouverture et d’impression d’un document Word:
Sub ImprimerDocWord() 'Déclarez les variables d'objet. Dim WordApp As Object, worddoc As Object 'Ouvrir Word Set WordApp = CreateObject("Word.Application") 'Ouvrez le document Word à imprimer. Set worddoc = WordApp.Documents.Open(Filename:="C:\monDocWord.docx") 'Imprimez l'intégralité du document Word. WordApp.ActiveDocument.PrintOut 'Donnez au travail d'impression 5 secondes pour terminer avant de fermer Word. Application.Wait Now + TimeSerial(0, 0, 5) 'Fermez le document Word, pas besoin d'enregistrer les modifications. worddoc.Close savechanges:=False 'Quittez l'application Word. WordApp.Quit 'Définissez les variables Object sur Nothing pour libérer la mémoire système. Set worddoc = Nothing Set WordApp = Nothing End Sub
REMARQUE
Vous avez peut-être remarqué que cette macro et quelques autres dans cette leçon n’incluent pas l’instruction pour rendre l’application Word visible. Il est facile d’oublier que vous avez une application ouverte si vous ne pouvez pas la voir. Le point est, n’oubliez pas d’inclure les instructions Close et Quit dans vos macros lors de l’ouverture des applications et des fichiers que vous prévoyez de fermer lorsque la macro est terminée. Sinon, lorsque vous réexécutez la macro, vous obtenez des messages en lecture seule et des messages d’erreur, car VBA interprète vos instructions codées comme une tentative de rouvrir un fichier déjà ouvert.
Si vous souhaitez imprimer uniquement une partie du document Word, par exemple uniquement la page 2, dans la macro ImprimerDocWord précédente, remplacez l’instruction
WordApp.ActiveDocument.PrintOut ou WordApp.ActiveDocument.PrintOut pages:="2"