Lundi 18 Novembre 2019  
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 : 2
Membres en ligne : 0

 pirobert 26 semaines
 jcgdisle 51 semaines
 EMERGENCY 72 semaines
 beaulieu 84 semaines
 callaghi 87 semaines
 Charlie76 93 semaines
 joscopp 104 semaines
 JièL 104 semaines
 julbast 105 semaines
 zorro71 129 semaines

Non activés :0

Nombre de visiteurs
depuis le : 12/11/2008

Aujourd'hui:2 641
En ligne :2
Max. en ligne:312
Max. / jour:66 529
Total hier:2 974
Total ce mois:63 599
Total visites:22 948 139
Moyenne/jour:5 706

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 26539 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
R11060 Restaurer le carnet d'adresses personnel (.PAB), R15310 [VBA] Limiter l'envoi selon la taille, R03120 Insérer du HTML dans un message, R04020 Insérer un élément d'Outlook dans un message, R20110 Configurer un compte POP pour Outlook 2007, R17010 Impossible d'exporter les données de champs personnalisés, R08123 Impossible d'envoyer un message (mon FAI est Free), R11010 Restaurer TOUT Office 2003, R08080 Message d'erreur lors de l'utilisation du carnet d'adresses, R15260 [VBA] Copier le corps et les en-têtes vers le presse-papier, R16040 Importer le carnet d'adresses d'Outlook Express dans Outlook, R15350 [VBA] Choix du compte selon les destinataires, R15300 [VBA] Enregistrer dans un dossier après envoi, R15320 [VBA] PUBLIPOSTAGE avec Pièces jointes, R04040 Imprimer directement une pièce jointe

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 [/\]