Mercredi 30 Juillet 2014  
Navigation
FAQ Outlook
» Foire Aux Questions «
Recherche
Téléchargements
Forums Outlook
Plan du site
Liens
Assistance à distance
Bibliographie
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 : 5
Membres en ligne : 0

 zeners 4 jours
 mappec 1 semaine
 JièL 5 semaines
 artefact0 10 semaines
 pajude 12 semaines
 xjr13sp 13 semaines
 vivi32 14 semaines
 angel 15 semaines
 Quartzkyte 16 semaines
 EMERGENCY 16 semaines

Non activés :0

Nombre de visiteurs
depuis le : 12/11/2008

Aujourd'hui:5 969
En ligne :5
Max. en ligne:119
Max. / jour:66 529
Total hier:7 173
Total ce mois:131 882
Total visites:11 203 303
Moyenne/jour:5 371

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 14630 Lecture(s) Imprimer
Commentaires
Aucun commentaire n'a été publié, soyez le premier à donner votre avis.
Publier un commentaire
Un commentaire n'est pas une question sur un problème que vous avez,
pour ces dernières veuillez utiliser les forums, ils sont fait pour.
Merci !!!

Les administrateurs se réservent le droit de corriger ou de supprimer les commentaires (et toute question).

Votre nom :




Entrez le code de validation :

Ceci n'est pas une question sur Outlook,
j'ai bien compris qu'il faut utiliser les forums pour TOUTE question !
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
R06030 Paramétrer l'archivage automatique, R18020 Dépasser la limites de 32Ko des règles avec un serveur Exchange, R99120 Fenêtre dernier cri, R01145 Configurer un compte Hotmail avec Outlook 2003 ou 2007, R04070 Rendre visible le dossier temporaire des pièces jointes, R09080 Ajouter un dossier contact et l'afficher dans le carnet d'adresses, R08125 Impossible d'envoyer un message (mon FAI est Wanadoo/Orange), R07030 Interdire l'accès au .PST par un mot de passe, R13010 Modifier l'affichage de la liste des tâches, R06020 Réduire la taille du .PST, R20020 Configurer un compte IMAP pour Outlook 2002/2003, R17020 Lecture des propriétés d'un compte exchange, R09010 Compléter la saisie d’un destinataire (saisie auto ou saisie semi auto), R10020 Sauvegarder les paramètres et fichiers .PST d'Outlook 2002 (Windows XP seulement), R06035 L'archivage ne fonctionne pas

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