Detecter la fin d'impression d'un document Word [Résolu]

Signaler
Messages postés
7421
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
19 juin 2021
-
Messages postés
7421
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
19 juin 2021
-
Bonjour à tous,
Je me tourne vers vous pour une question simple:
Peut-on détecter la fin d'impression d'un document Word pour fermer ce document ensuite?
En VB.Net il ya un evenement de PrintDocument qui permet cela. Mais je n'ai rien trouveé en vba
Merci pour vos réponses
Le Pivert

4 réponses

Messages postés
172
Date d'inscription
jeudi 8 décembre 2011
Statut
Membre
Dernière intervention
21 juillet 2013
2
Effectivement, il n'y a pas d'évènement sous Word (quid de ta version ?) concernant l'impression …

Toutefois via le VBA, en regardant l'aide de PrintOut, on s'aperçoit que son paramètre
Background peut permettre de bloquer l'exécution tant que l'impression n'est pas terminée :
   ActiveDocument.PrintOut Background:=False

 
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
76
Salut

Quel est ton vrai problème ?
Car après avoir lancé l'impression (et que ton programme t'a rendu la main), les données sont dans la file d'attente de l'imprimante, et je pense que le fichier original n'est plus nécessaire.
Si maintenant tu veux savoir si l'impression s'est complètement et correctement terminée, je ne sais pas trop. Peut-être faudrait-il trouver le moyen de regarder l'activité de l'imprimante sur laquelle tu as lancé l'impression, mais en VBA, l'objet Printers n'existant pas, ce n'est pas simple à faire.
Regarde <ce lien> qui explique comment récupérer des infos de l'imprimante.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
7421
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
19 juin 2021
124
Je vous remercie tous les deux d'avoir répondu à ma demande. Mon problème est le suivant:
Je viens de faire un programme en VB2008 où j'utilise Word. Donc j'imprime comme ceci:
oWord. PrintOut
Et je quitte comme cela:
oWord.Quit
Et là il y a un message de fermeture du document Word. Peut-on fermer sans que l'utilisateur puisse enregistrer les modifications?
Et tout de suite après un message pour imprimer un 2ème document.
Alors comme le dit Jack si cela n'empêche pas l'impression tout est bon.
Je vais essayer et aussi la solution de MarcPL
Messages postés
7421
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
19 juin 2021
124
Jack tu as tout à fait raison.
"Car après avoir lancé l'impression (et que ton programme t'a rendu la main), les données sont dans la file d'attente de l'imprimante, et je pense que le fichier original n'est plus nécessaire."

J'ai essayé et cela fonctionne.
Pour le 2ème point:
Peut-on fermer sans que l'utilisateur puisse enregistrer les modifications?

j'ai mis ceci si cela peut aider

 oWord.ActiveDocument.Close(SaveChanges:=False)    'Ferme le doc actif sans l'enregistrer 


Voici ma source pour mieux comprendre: fermer sans enregistrer!

http://www.vbfrance.com/codes/CREER-CALENDRIER-POCHE_53838.aspx

Merci encore
@+ Le Pivert