![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Invité de passage
![]() Date d'inscription: décembre 2007
Messages: 8
|
Bonjour à tous,
Pour économiser un peu de papier, j'aimerais modifier une règle (certainement en VBA) qui m'imprime automatiquement les mails d'un destinataire à la réception. Cette règle m'imprime le texte du mail et la pièce jointe, or seule la pièce jointe m'intéresse. Est-ce que quelqu'un a une idée? |
|
|
|
|
|
#2 (permalink) |
|
Membre éprouvé
![]() Date d'inscription: mars 2006
Localisation: Tourcoing
Âge: 37
Messages: 492
|
Salut,
Difficile à dire comme cela ca peut être un programme complémentaire ou une macro. Si c'est une macro tape ALT+F11 tu arriveras dans les macros et tu dois cliquer sur ThisOutlookSession dans le cadred e gauche fait un copié collé du code ici
__________________
Have a nice day. ![]() Oliv' OUI à l'utilisation, NON au « copillage » Merci de citer la source |
|
|
|
|
|
#3 (permalink) |
|
Invité de passage
![]() Date d'inscription: décembre 2007
Messages: 8
|
Merci Oliv pour ta réponse, j'essaye en effet de créer un script ou une macro. Mais ce sont mes premiers pas sur le VBA Outlook, j'ai un peu de mal.
J'ai essayé cela Code :
Sub script(MyMail As MailItem) Dim myAttachments As Object Set myAttachments = MyMail.Attachments If myAttachments.Count > 0 Then myAttachements.PrintOut Merci de ton aide Dernière modification par Dolphy35 ; 23/04/2008 à 16h11 Motif: Balises Code |
|
|
|
|
|
#4 (permalink) |
|
Membre éprouvé
![]() Date d'inscription: mars 2006
Localisation: Tourcoing
Âge: 37
Messages: 492
|
Ok j'avais pas compris que tu parlais à la base d'une "règle" .
donc tu peux effectivement executer un script sur cette "règle". Mais les PJ doivent d'abord êtres enregistrées dans un dossier de ton disque dur puis imprimées: Code :
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _ (ByVal hwnd As Long, ByVal lpOperation As String, _ ByVal lpFile As String, ByVal lpParameters As String, _ ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Sub ShellImprime(fichier as String) ShellExecute 0, "print", fichier, "", "", 0 End Sub
__________________
Have a nice day. ![]() Oliv' OUI à l'utilisation, NON au « copillage » Merci de citer la source |
|
|
|
|
|
#5 (permalink) |
|
Invité de passage
![]() Date d'inscription: décembre 2007
Messages: 8
|
Re-bjr,
J'ai testé mais j'ai une "erreur de compilation". "Des constantes, chaines de longueur fixe, tableaux, types définis par l'utilisateur et instructions Declare ne sont pas autorisés comme membres Public de modules d'objet." Pour parer cette erreur, j'ai mis "Private" devant "Declare" mais les scripts ne sont plus visibles lors de la création de la "Règle" |
|
|
|
|
|
#6 (permalink) |
|
Membre éprouvé
![]() Date d'inscription: mars 2006
Localisation: Tourcoing
Âge: 37
Messages: 492
|
La partie DECLARE ...doit être mis etout en haut du module.
avant tout sub. Et donc tu dois faire une boucle sur tous les PJ de ton mail
__________________
Have a nice day. ![]() Oliv' OUI à l'utilisation, NON au « copillage » Merci de citer la source |
|
|
|
|
|
#7 (permalink) |
|
Invité de passage
![]() Date d'inscription: décembre 2007
Messages: 8
|
J'ai n'ai pas besoin de faire de boucle car dans tous les cas, je n'aurais qu'une pièce jointe.
Voici ce que j'ai fait: Code :
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _ (ByVal hwnd As Long, ByVal lpOperation As String, _ ByVal lpFile As String, ByVal lpParameters As String, _ ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Sub ShellImprime(fichier As String) ShellExecute 0, "print", fichier, "", "C:\UniScan\", 0 End Sub Sub script(MyMail As MailItem) Set fichier = MyMail.Attachments ShellImprime (fichier) End Sub |
|
|
|
|
|
#8 (permalink) |
|
Membre éprouvé
![]() Date d'inscription: mars 2006
Localisation: Tourcoing
Âge: 37
Messages: 492
|
et ca marche ?
__________________
Have a nice day. ![]() Oliv' OUI à l'utilisation, NON au « copillage » Merci de citer la source |
|
|
|
|
|
#9 (permalink) |
|
Invité de passage
![]() Date d'inscription: décembre 2007
Messages: 8
|
non!! A vrai dire je suis dans la semoule!!
Au fait dès que je tente d'autres macros, il me sort tjrs le message "Erreur de compilation". Par contre il ne réagit pas si je n'ai que mon code cité précédemment activé |
|
|
|
|
|
#10 (permalink) |
|
Membre éprouvé
![]() Date d'inscription: mars 2006
Localisation: Tourcoing
Âge: 37
Messages: 492
|
je me disais bien
et avec cela c'est mieux ? Code :
Sub script(MyMail As MailItem) Set fichier = MyMail.Attachments Repertoire ="C:\UniScan\" fichier (1).SaveAsFile Repertoire & fichier (1).FileName ShellImprime (fichier (1).FileName) End Sub Code :
Sub test_script() Dim Oitem As Outlook.MailItem Set Oitem = ActiveInspector.CurrentItem script Oitem End Sub
__________________
Have a nice day. ![]() Oliv' OUI à l'utilisation, NON au « copillage » Merci de citer la source |
|
|
|
|
|
#11 (permalink) |
|
Invité de passage
![]() Date d'inscription: décembre 2007
Messages: 8
|
Merci Oliv
,Tout marche parfaitement Pour les autres voici mon code définitif: Code :
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _ (ByVal hwnd As Long, ByVal lpOperation As String, _ ByVal lpFile As String, ByVal lpParameters As String, _ ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Sub ShellImprime(fichier As String) ShellExecute 0, "print", fichier, "", "C:\UniScan\", 0 End Sub Sub script(MyMail As MailItem) Set fichier = MyMail.Attachments Repertoire = "C:\UniScan\" fichier(1).SaveAsFile Repertoire & fichier(1).FileName ShellImprime (fichier(1).FileName) End Sub |
|
|
|
![]() |
![]() |
||
Imprimer pièce jointe en réception
|
||
Offres d'
emploi informatique
sur Lesjeudis.com
|
| Outils de la discussion | |
|
|