SieurBoon
Messages postés4Date d'inscriptionmardi 17 août 2004StatutMembreDernière intervention15 février 2005
-
14 févr. 2005 à 16:17
SieurBoon
Messages postés4Date d'inscriptionmardi 17 août 2004StatutMembreDernière intervention15 février 2005
-
15 févr. 2005 à 15:15
J'ai développé une macro qui enregistre et lance l'impression des pieces jointes recues sous OUTLOOK (exculivement des fichiers Word).
Mon probleme est qu'à chaque piece jointe, il reste un processus WINWORD.EXE dans le gestionnaire des taches de Windows et je dois les terminer "à la main"". Pourtant, j'utilise bien l'instruction Set ...= nothing (voir extrait du code ci-dessous). Quelqu'un peut-il m'aider? (Precision: j'utilise OUTLOOK2000 - VB6.0 sous NT4.0/SP6)
Set WordApp = CreateObject("Word.Application")
Set Fichier_Doc = WordApp.Documents.Open(Nom_Fichier)
Fichier_Doc.PrintOut copies:=1
Fichier_Doc.Close
Set Fichier_Doc = Nothing
Set WordApp = Nothing
pelw
Messages postés148Date d'inscriptiondimanche 12 janvier 2003StatutMembreDernière intervention14 février 20056 14 févr. 2005 à 17:35
Essaye ceci :
Set WordApp = CreateObject("Word.Application")
Set Fichier_Doc = WordApp.Documents.Open(Nom_Fichier)
Fichier_Doc.PrintOut copies:=1
Fichier_Doc.Close
WordApp.Quit
Set Fichier_Doc = Nothing
Set WordApp = Nothing
SieurBoon
Messages postés4Date d'inscriptionmardi 17 août 2004StatutMembreDernière intervention15 février 2005 14 févr. 2005 à 18:52
Pelw,
J'ai ajouté cette commande. A présent, il affiche un message d'avertissement de Word puisque l'impression est en cours et que la fermeture de Word empêchera l'impression de se faire et il me demande si je désire néanmoins quitter Word.
Si je clique "oui", il ferme bien Word (ouééé merci pelw), mais il n'imprime pas le fichier...
Si je clique "non", il imprime la PJ, mais il ne ferme pas Word...
Grrrr c'est rageant de buter sur un truc aussi bête !!!!
pelw
Messages postés148Date d'inscriptiondimanche 12 janvier 2003StatutMembreDernière intervention14 février 20056 14 févr. 2005 à 20:48
Une possibilité serait d'ajouter une pause dans la macro, pour laisser le temps
de terminer l'impression avant de fermer le document Word :
Set WordApp = CreateObject("Word.Application")
Set Fichier_Doc = WordApp.Documents.Open(Nom_Fichier)
Fichier_Doc.PrintOut copies:=1
Depart = Timer
Do While Timer < Depart + 2 'Faire une pause de 2 secondes
DoEvents
Loop
Fichier_Doc.Close
WordApp.Quit
Set Fichier_Doc = Nothing
Set WordApp = Nothing
SieurBoon
Messages postés4Date d'inscriptionmardi 17 août 2004StatutMembreDernière intervention15 février 2005 15 févr. 2005 à 15:15
Bon, ben ça marche, mais à condition de ne pas recevoir plusieurs mails en cours de tempo, sinon il s'interromp et du coup, ça n'imprime plus dans l'ordre chronologique. J'ai donc ajouté une boucle qui scanne les 5 ou 10 derniers mails à chaque réception et qui traite les mails non-lus (je les marque "as read" apres impression de la PJ). C'est pas super-top, mais si les mails arrivent 1 à 1 ça fonctionne.
Pewl, si tu as d'autres suggestions, je suis preneur ;o)