Dimanche 19 Novembre 2017  
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

 joscopp 22:31:05
 JièL 2 jours
 julbast 5 jours
 pirobert 1 semaine
 EMERGENCY 3 semaines
 callaghi 18 semaines
 zorro71 24 semaines
 Alphator 43 semaines
 ande 48 semaines
 Oliv 50 semaines

Non activés :0

Nombre de visiteurs
depuis le : 12/11/2008

Aujourd'hui:1 685
En ligne :2
Max. en ligne:312
Max. / jour:66 529
Total hier:5 779
Total ce mois:84 074
Total visites:18 651 588
Moyenne/jour:5 664

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 23445 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
R02010 Connexion / Déconnexion automatique à Internet, R02060 Vérifier l'accès au serveur SMTP, R17003 Visual Basic Script, R99470 Ca va mieux ?, R06035 L'archivage ne fonctionne pas, R09160 Afficher ses contacts dans un ordre différent, R20020 Configurer un compte IMAP pour Outlook 2002/2003, R04010 Insérer une image dans un message, R06070 Classer automatiquement les messages reçus ou envoyés, R99210 Y'a pas que les ordis qui rament, R02030 Définir des groupes de comptes de messagerie, R15930 [VBA] Eliminer les doublons, R09190 Trier les destinataires dans le carnet d'adresses (version 2002/2003), R08180 Les boutons d'acceptation ou de refus de RDV sont inactif, R15360 [VBA] Pas de compte par defaut --> Obliger le choix entre 2 comptes ou plus

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