Bonjour,
Je voudrais ajouter un script sur OUTLOOK qui m'imprime des mails dès leur envois (mails avec objet "Confirmation").
Merci pour votre aide.
Bonjour,
Je voudrais ajouter un script sur OUTLOOK qui m'imprime des mails dès leur envois (mails avec objet "Confirmation").
Merci pour votre aide.
Bonsoir,
voici un exemple à mettre dans thisoutlooksession
ca c'est la seule méthode pour imprimer directement le Mail (sans les PJ.) vers l'imprimante par défaut.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 'création d'une variable avec des évenement sur le dossier de destination ici "Eléments envoyés" Dim WithEvents objMailSent As Outlook.Items Private Sub Application_Startup() 'initialisation Set objMailSent = Application.Session.GetDefaultFolder(olFolderSentMail).Items End Sub Private Sub objMailSent_ItemAdd(ByVal Item As Object) Dim Mail As Outlook.MailItem If TypeName(Item) = "MailItem" Then Set Mail = Item Mail.PrintOut End If End Sub
On peut changer avant l'imprimante par défaut.
Mais le mieux selon moi c'est d'enregistrer sur le disque le mail (.saveas) au format olDoc, puis de l'ouvrir par automation avec WORD et là on peut l'imprimer avec plus d'options !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Private Declare Function SetDefaultPrinterAPI Lib "winspool.drv" Alias "SetDefaultPrinterA" (ByVal pszPrinter As String) As Long sub change () SetDefaultPrinterAPI "nom imprimante" end sub
Bonjour Oliv-,
J’espère que vous allez bien ;-)
J'ai mis le premier code dans "this outlook session" mais ça ne marche pas. juste une petite remarque, je veux imprimer uniquement les mails que j'envoie avec objet : "Confirmation".
Merci beaucoup Oliv-
Bonjour, merci ça va.
Il faut ajouter un test sur le sujet du mail( le sujet doit être précisément celui-là !),
et initialiser la variable soit en relançant Outlook ou en lançant Application_Startup()
Code : Sélectionner tout - Visualiser dans une fenêtre à part if Mail.subject ="Confirmation" then Mail.PrintOut
Ça ne marche que si l'option "ne pas enregistrer" n'est pas cochée et si le dossier de classement est "Eléments envoyés"
Ca marche Nickel avec objet "Confirmation".
Désolé je vous ai induit en erreur . Au faite , Je voudrais mettre la condition " l'objet contient le mot Confirmation ".
Merci beaucoup d'avance.
utilises instr()
Salut,
La fonction instr () nécessite mettre toute la chaîne de caractère sur laquelle on voulait faire la recherche. par contre l'objet de mon mail est variable (uniquement le mot Confirmation est figé). j'ai fait cette modification mais ça fonctionne toujours pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 'création d'une variable avec des évenement sur le dossier de destination ici "Eléments envoyés" Dim WithEvents objMailSent As Outlook.Items Private Sub Application_Startup() 'initialisation Set objMailSent = Application.Session.GetDefaultFolder(olFolderSentMail).Items End Sub Private Sub objMailSent_ItemAdd(ByVal Item As Object) Dim Mail As Outlook.MailItem If TypeName(Item) = "MailItem" Then Set Mail = Item If InStr(Mail.Subject, "Confirmation") Then Mail.PrintOut End If End If End Sub
essaye comme cela
Code : Sélectionner tout - Visualiser dans une fenêtre à part if InStr(1, Mail.Subject, "Confirmation", vbTextCompare) then
Bonjour,
Merci infiniment cher Oliv-
Bonne journée.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager