IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Outlook Discussion :

Un VBA Outlook pour visualiser l'en-tête d'un message sans l'ouvrir ?


Sujet :

VBA Outlook

  1. #1
    Membre régulier Avatar de jc-macintosh
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2011
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Portugal

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2011
    Messages : 75
    Points : 116
    Points
    116
    Par défaut Un VBA Outlook pour visualiser l'en-tête d'un message sans l'ouvrir ?
    Bonjour à toutes et tous.
    Dans Outlook 2013 (les autres versions je ne sais pas) il est impossible de visualiser l'en-tête d'un message sans l'ouvrir.

    Une fois ouvert, la barre d'outil d'un message ouvert propose une commande pour en "visualiser" l'en-tête.

    Par contre cette manip. est impossible sans l'ouvrir (dans la liste des messages reçus par exemple)... Cela serai bien pratique pour examiner l'en-tête d'un message suspect.

    Une macro VBA pourrait elle contourner cette limitation ?

    Perso, je ne suis pas assez caler en VBA mais vous peut être ?

    Merci pour vos propositions.
    A+
    Jean-Claude
    A+
    J-Claude

    PS: Si une réponse vous a permis d'avancer, merci de voter "pouce vers le haut" sur celle-ci. Si votre problème est résolu, cliquer sur le bouton noir "Résolu" en bas.
    Histoire aussi d'aider les autres utilisateurs en recherche de solution.

    Merci.

  2. #2
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Bonjour,

    Voici , il faut ajouter un formulaire pour créer une référence à Microsoft Form...

    le contenu du header se copie dans le presse papier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Sub get_header_PutInClipboard()
        Dim obj, objmail As Outlook.MailItem
        Dim mailHeader
        Set obj = Application.ActiveWindow
        If TypeOf obj Is Outlook.Inspector Then
            Set obj = obj.CurrentItem
        Else
            Set obj = obj.Selection(1)
        End If
     
        If obj.Class <> olMail Then Exit Sub
     
        Set objmail = obj
     
        Const PR_TRANSPORT_MESSAGE_HEADERS = "http://schemas.microsoft.com/mapi/proptag/0x007D001F"
        mailHeader = objmail.propertyAccessor.GetProperty(PR_TRANSPORT_MESSAGE_HEADERS)
        With New DataObject
            .SetText mailHeader
            .PutInClipboard
        End With
     
    End Sub

  3. #3
    Membre habitué
    Inscrit en
    Mai 2009
    Messages
    506
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 506
    Points : 131
    Points
    131
    Par défaut
    J'y crois pas ! Il faut accéder à un site Microsoft pour obtenir l'en-tête du message en VBA ? Est-ce que ça veut dire que l'on fait aussi un accès chez Microsoft quand on visualise tout simplement le code source du message ???

    AMIcalement.

  4. #4
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Non en fait "http://schemas.microsoft.com/mapi/proptag/0x007D001F" n'est pas une adresse internet mais un namespace

    pas de big brother dans ce code !

  5. #5
    Membre habitué
    Inscrit en
    Mai 2009
    Messages
    506
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 506
    Points : 131
    Points
    131
    Par défaut
    Citation Envoyé par Oliv- Voir le message
    Non en fait "http://schemas.microsoft.com/mapi/proptag/0x007D001F" n'est pas une adresse internet mais un namespace

    pas de big brother dans ce code !
    Je ne comprends quand-même pas. Ce "namespace" ne pourait pas s'appeler "toto", ou "olMailHeader" ? Et s'il s'appelle comme ça, ça n'a absolument rien à voir avec quelque chose qui se trouve sur Internet ? (d'ailleurs 1:- cette adresse ne répond pas, et 2:- les adresses chez microsoft.com passent leur temps à changer : tu es sûr que ton code fonctionnera encore dans six mois ?).

    AMIcalement.

  6. #6
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    C est effectivement déroutant...

  7. #7
    Membre habitué
    Inscrit en
    Mai 2009
    Messages
    506
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 506
    Points : 131
    Points
    131
    Par défaut
    Citation Envoyé par Oliv- Voir le message
    C est effectivement déroutant...
    Mais permets-moi d'insister : cette application m'intéresse, car il me semble possible d'en tirer parti pour éviter de s'emm... avec les no-ip et autres pseudo-gratuits : Si, dans ma maison de campagne, j'ai un raspberry qui m'envoie un mail tous les jours, et que j'ai un moyen fiable (à défaut d'être simple) d'en extraire son IP, c'est réglé.

    Puis-je demander d'où tu tiens ce nom de namespace ? Puis-je demander s'il fonctionne uniquement comme une chaîne de caractères, ou bien si son utilisation suppose un accès Internet ? Puis-je demander s'il est certain que ce nom (ce lien Internet, peu ou prou) n'est pas susceptible de changer suivant le bon vouloir de M. µ$ ?

    Merci.

    AMIcalement.

  8. #8
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Tu trouveras des infos ici
    https://docs.microsoft.com/fr-fr/off...opertyaccessor
    et là
    https://www.slipstick.com/developer/...-object-model/

    c'est une chaine de caractères que tu peux explorer avec les fonctions chaines de vba par exemple (instr, split, mid,...) ou avec des REGEX

    voici un exemple
    https://www.developpez.net/forums/bl...nvoye-message/

    il faut bien sur un accès internet, pour recevoir le mail ! ;-)

  9. #9
    Membre habitué
    Inscrit en
    Mai 2009
    Messages
    506
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 506
    Points : 131
    Points
    131
    Par défaut
    Merci Oliv'. Je vais explorer tout ça, mais les méandres de Microsft et ceux de l'internet me plongent dans un abîme de perplexité...

    "Quand on veut accéder à des propriétés qui ne sont pas exposées dans le modèle objet"... Des propriétés qui existent, qui ne sont pas exposées, mais auxquelles on veut accéder, et auxquelles ils vous donnent quand même le moyen d'accéder... C'est un truc de Shadok !

    AMIcalement.

  10. #10
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Bonjour,

    Avec ce visuel tu comprendras mieux

    Voici des propriétés "exposées" d'un Email comme le sujet en rouge, ou la liste des objets exposés comme les destinataires (objet = propriétés + méthodes+ événements)

    Nom : OOM.png
Affichages : 513
Taille : 32,7 Ko

Discussions similaires

  1. Envoyer un mail avec pièce jointe
    Par Deyd96 dans le forum VBA Outlook
    Réponses: 28
    Dernier message: 04/07/2020, 15h03
  2. Réponses: 1
    Dernier message: 06/02/2019, 18h37
  3. [WD-2010] Code VBA - WORD - Outlook pour mise en forme d'un message
    Par xav31so dans le forum VBA Word
    Réponses: 19
    Dernier message: 27/11/2013, 09h50
  4. Utiliser AdvancedSearch sous VBA Excel pour lire les emails d'Outlook
    Par jean.cdc dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 28/02/2011, 15h29
  5. Comment faire pour tester un checkbox d'un classeur fermé sans l'ouvrir?
    Par elbourin dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/08/2008, 12h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo