Lundi 20 Août 2018  
Navigation
FAQ Outlook
» Foire Aux Questions «
Recherche
Téléchargements
Forums Outlook
Plan du site
Liens
Login

Les inscriptions sont fermées

Pseudo

Mot de passe

Se souvenir de moi



Mot de passe oublié ? Mot de passe oublié ?
Connexions
Bienvenue à [FAMACLUB]
le 1,414ème membre
Visiteurs en ligne : 3
Membres en ligne : 0

 EMERGENCY 7 semaines
 beaulieu 19 semaines
 callaghi 23 semaines
 Charlie76 28 semaines
 joscopp 39 semaines
 JièL 39 semaines
 julbast 40 semaines
 pirobert 40 semaines
 zorro71 64 semaines
 Alphator 82 semaines

Non activés :0

Nombre de visiteurs
depuis le : 12/11/2008

Aujourd'hui:2 666
En ligne :3
Max. en ligne:312
Max. / jour:66 529
Total hier:3 697
Total ce mois:63 186
Total visites:20 233 778
Moyenne/jour:5 671

Dernières 24h

























Publicité ; elle permet de financer le site
Navigation parmi les catégories/articles
« Catégorie     Q15000 Macros - VBA (41)  Catégorie »
[<<]  « Article  Article »  [>>]
R15270 [VBA] Exécuter un script sur une règle
Vous souhaitez qu'un script s'exécute lors de la survenance d'une règle.

Le script doit comporter un argument MailItem (ou MeetingItem) et se trouver
soit dans ThisOutlookSession soit dans un module

 Sub script (MyMail As MailItem) 
    MsgBox MyMail.Subject & " est arrivé "
End Sub


 

Autres exemples :
http://www.outlookcode.com/d/code/zaphtml.htm#ol2002 http://support.microsoft.com/?kbid=306108

Créez votre règle dans outils/règles et alertes et cochez dans les Actions
"exécuter un script". en choisissant le script créé précédemment.


Ci dessous un nouvel exemple :


 Sub Script_deplace(MyMail As Outlook.MailItem)
'---------------------------------------------------------------------------------------
' Procedure : Script_deplace
' Author    : Oliv'
' Date      : 14/03/2008
' Purpose   : Script pour règle --> déplace un mail vers un dossier selon l'expéditeur
'---------------------------------------------------------------------------------------
'
   Dim OLNS As Outlook.NameSpace
   Set OLNS = Application.GetNamespace("MAPI")
   DestinationName = ""
 
    Select Case MyMail.SenderEmailAddress
        Case "toto@titi.fr"
            'déplacement direct avec erreur si le dossier n'existe pas
            MyMail.Move OLNS.GetDefaultFolder(olFolderInbox).Folders("toto")
 
        Case "momo@titi.fr"
            ' à partir d'ici traitement à la fin uniquement
            DestinationName = "momo"
        Case "faq.outlooke@free.fr"
'ici on recupere le nom de l'expéditeur
            DestinationName = MyMail.SenderName
    End Select
    If DestinationName <> "" Then
        On Error Resume Next
            Set MyDestinationFolder = OLNS.GetDefaultFolder(olFolderInbox).Folders(DestinationName)
            If Err <> 0 Then
                ' création du dossier s'il nexiste pas
                 Set MyDestinationFolder = OLNS.GetDefaultFolder(olFolderInbox).Folders.add(DestinationName, olFolderInbox)
                 Err.Clear
            End If
        On Error GoTo 0
    'Déplacement
    MyMail.Move MyDestinationFolder
    End If
 
End Sub

Encore un autre :

 Sub RepToRec(MyMail As MailItem)
'---------------------------------------------------------------------------------------
' Procedure : RepToRec
' Author    : Oliv'
' Date      : 16/04/2008
' Purpose   : script a executer avec une règle pour répondre au destinataires A
'---------------------------------------------------------------------------------------
'   
Dim LeMailTransfere As Outlook.MailItem
Dim strID As String
Dim olNS As Outlook.NameSpace
Dim msg As Outlook.MailItem
 
 
strID = MyMail.EntryID
Set olNS = Application.GetNamespace("MAPI")
Set msg = olNS.GetItemFromID(strID)
 
    Set LaReponse = msg.Reply
    'il faut supprimer les destinataires par defaut
    For I = LaReponse.Recipients.Count To 1 Step -1
    LaReponse.Recipients.Remove I
    Next I
 
    'on Ajoute des destinataire "A" du mail d'origine
    For Each destinataire In msg.Recipients
    'MsgBox destinataire
    If destinataire.Type = olTo Then
    LaReponse.Recipients.add destinataire.Address
    End If
   
    Next destinataire

MonTexteEnPlus = "Mon message de réponse"
        Select Case LaReponse.BodyFormat
        'ici on vérifie le format du message HTML OU BRUT ...
       
        Case olFormatHTML:
       
        OuCommenceAdresse = InStr(1, LaReponse.HTMLBody, "<BODY", vbTextCompare)
        If OuCommenceAdresse > 0 Then
            Fin = InStr(OuCommenceAdresse + 5, LaReponse.HTMLBody, ">") + 1
            BaliseBody = Mid(LaReponse.HTMLBody, OuCommenceAdresse, Fin - OuCommenceAdresse)
           
            LaReponse.HTMLBody = Replace(LaReponse.HTMLBody, BaliseBody, BaliseBody & "<font style='font-family: Tahoma ;font-size: 8pt ;color:#808080;font-style: italic;'>" & MonTexteEnPlus & "</font><BR>" _
                & "<font style='font-family: Tahoma ;font-size: 8pt ;color:#808080;font-style: italic;'>" & String(NbTiret, "-") & "</font><BR><BR>", 1, 1, vbTextCompare)
        Else: LaReponse.HTMLBody = "<font style='font-family: Tahoma ;font-size: 8pt ;color:#808080;font-style: italic;'>" & Liste & _
                "</font><BR>" & "<font style='font-family: Tahoma ;font-size: 8pt ;color:#808080;font-style: italic;'>" & String(NbTiret, "-") & "</font><BR><BR>" & LaReponse.HTMLBody
       
        End If
        Case Else
            ObjCurrentMessage.Body = Replace(MonTexteEnPlus, "<br>", vbCr) & Chr(10) & String(NbTiret, "-") & Chr(10) & Chr(10) & ObjCurrentMessage.Body
 
    End Select
'affiche la réponse à commenter après test
    LaReponse.Display
' à decommenter pour envoyer
'    LaReponse.Send
Set msg = Nothing
Set olNS = Nothing
Set LaReponse = Nothing
End Sub
 
Sub test_script()
Dim Oitem As Outlook.MailItem
Set Oitem = ActiveInspector.CurrentItem
RepToRec Oitem
End Sub


 Sub test_script()
'---------------------------------------------------------------------------------------
' Procedure : RepToRec
' Author    : Oliv'
' Date      : 16/04/2008
' Purpose   : Pour tester un script sur le mail en cours
'---------------------------------------------------------------------------------
 
Sub test_script()
Dim Oitem As Outlook.MailItem
Set Oitem = ActiveInspector.CurrentItem
RepToRec Oitem
End Sub


Publié par Oliv le vendredi 22 juin 2007 17:17 0 Commentaires 24875 Lecture(s) Imprimer
Commentaires
les commentaires sont fermés.
Copyright et partage
Ce site est sous licence Creative Commons.
Vous pouvez utiliser toutes les informations présentent ici, mais il vous est interdit de les reproduire sans citer la source.

Creative Commons License
OUI au partage
NON au « copillage »

Ajouter aux favoris / partager : 
URL :
BBcode :
HTML :
Cliquez ci dessus sur le lien que vous voulez copier et [Ctrl] + [C] ou cliquez sur le bouton [ C ]
Articles similaires
Articles Catégories
R15045 [VBA] Ouvrir l'arborescence des pst contenant une boîte de réception Q15000 Macros - VBA
R15930 [VBA] Création de menu dans outlook Q15000 Macros - VBA
R08250 Outlook ne trouve pas mes messages lors d'une recherche Q08000 Erreurs et problèmes
R18040 VBScript: Créer une signature personnalisée par utilisateur sous Outlook 2003/2007 Q18000 Outlook et Exchange
R21010 Ajouter une signature automatique aux messages (Outlook 2007) Q21000 Tutoriels VIDEOS (démo)
Nuage de tags
R13010 Modifier l'affichage de la liste des tâches, R15040 [VBA] Parcourir tous les dossiers et sous-dossiers., R01070 Changer définitivement l'adresse de retour d'un compte, R20040 Configurer un compte GMAIL pour Outlook 2002/2003, R05030 Modifier la police et la taille des caractères du corps du message, R08230 Problème avec le carnet d'adresses Outlook 2000 sous Vista, R09170 Choisir le format d'affichage des n° de tél (empêcher les parenthèses), R15045 [VBA] Ouvrir l'arborescence des pst contenant une boîte de réception, R17070 VSTO et les formulaires d'Outlook 2007, R10005 Copier le PST, R01110 Créer un modèle de message (pas un papier peint), R02060 Vérifier l'accès au serveur SMTP, R99200 Pourquoi la copie est merdique ?, R09005 Différence entre « Carnet d'adresses » et « Contacts », R01150 Afficher un compte Hotmail avec Outlook 2000 et suivant

aucun Crack, CrackZ, no-CD, DownloadZ, TelechargementZ, Serial, Numéro de série, N0 de série, Serialz ni Keygen pour Outlook sur ce site.

Blague aléatoire
Publicité
Météo Marseille
[/\] Copyright JièL / Jean-Louis Goubert © 2003-2009 [/\]