Detecter la fin d'impression d'un document Word

Résolu
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 - 10 déc. 2011 à 14:43
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 - 10 déc. 2011 à 17:40
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

MarcPL Messages postés 172 Date d'inscription jeudi 8 décembre 2011 Statut Membre Dernière intervention 21 juillet 2013 2
10 déc. 2011 à 15:19
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

 
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
10 déc. 2011 à 15:29
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)
3
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 137
10 déc. 2011 à 16:38
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
0
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 137
10 déc. 2011 à 17:40
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
0
Rejoignez-nous