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

VB.NET Discussion :

Récupérer nom de boite mail par défaut dans Outlook


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2019
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 18
    Par défaut Récupérer nom de boite mail par défaut dans Outlook
    Bonjour,

    Je suis en train de créer un Add-In Outlook sous VS 2019.

    Je suis à la recherche d'une fonction VB .NET qui permet de récupérer directement l'adresse mail ou le nom de l'utilisateur. J'en ai besoin pour effectuer des traitements ensuite.

    J'ai le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Imports Microsoft.Office.Interop.Outlook
        Public Sub NomCompteOutlook()
            Dim myNamespace As Outlook.NameSpace
            Dim recipient As Outlook.Recipient
            Dim userName As String
            myNamespace = Outlook.Application.GetNamespace("MAPI")
            recipient = myNamespace.CurrentUser
            userName = recipient.Name
            MsgBox(userName)
        End Sub
    Message d'erreur sur Outlook.Application.GetNamespace("MAPI"): BC30469 Une référence à un membre non partagé requiert une référence d'objet

    Merci d'avance de votre aide!

    Matou17

  2. #2
    Membre chevronné Avatar de r.morel
    Homme Profil pro
    Dessinateur CAO
    Inscrit en
    Août 2014
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Dessinateur CAO
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 339
    Par défaut
    Salut,
    Tu peux jeter un oeil à cette solution. Mais aussi à la documentation associée à cette méthode.

    Bonne journée.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2019
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 18
    Par défaut Soluce
    On cherche un bon bout de temps, on poste sur le fofo et juste après on trouve la solution:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        Public Sub NomCompteOutlook()
            Dim olApp As Object
            olApp = CreateObject("Outlook.Application")
            Dim myNamespace As Outlook.NameSpace
            Dim recipient As Outlook.Recipient
            Dim userName As String
            myNamespace = olApp.GetNamespace("MAPI")
            recipient = myNamespace.CurrentUser
            userName = recipient.Name
            MsgBox(userName)
        End Sub
    C'est quand même bien compliqué ce VB .NET

    C'est bon pour le nom, mais comment récupérer l'adresse mail par défaut ?

    Matou17

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 574
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 574
    Par défaut
    ce qu'il te manquait c'était une référence sur l'application outlook
    Sinon on recherche dans la doc par exemple par là https://learn.microsoft.com/en-us/of...nt-information
    En fouinant, on regarde ce que peut retourner Account https://learn.microsoft.com/en-us/do...ectedfrom=MSDN
    on voit la propriété CurrentUser qui retourne un Recipient et dans la doc de Recipient, on y trouve la propriété Address qui renvoiel' adresse mail https://learn.microsoft.com/en-us/do...ew=outlook-pia

    il n'y a plus qu'à tout combiner ou plus court
    Application.Session.CurrentUser.AddressEntry.Addresset en fait, tu y étais presque, recipient.Address devrait te donner la bonne information

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2019
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 18
    Par défaut
    recipient.Address donne une chaine de caractères qui commence par /o=ExchangeLab..... mais il n'y a pas l'adresse mail complète à la fin, donc pas exploitable.

  6. #6
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    Avec ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Imports Microsoft.Office.Interop
     
    Public Shared Function CurrentUserEmail() As String
        Dim oApp As New Outlook.Application
        Dim nsMAPI As Outlook.NameSpace = oApp.GetNamespace("MAPI")
        Dim currUser As Outlook.Recipient = nsMAPI.CurrentUser
        Return currUser.Address
    End Function
    Si ça ne renvoi pas l adresse alors essayes ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Imports Microsoft.Office.Interop
     
    Public Shared Function CurrentUserEmail() As String
        Dim oApp As New Outlook.Application
        Dim nsMAPI As Outlook.NameSpace = oApp.GetNamespace("MAPI")
        Dim currUser As Outlook.Recipient = nsMAPI.CurrentUser
        Dim exUser As Outlook.ExchangeUser = currUser.AddressEntry.GetExchangeUser()
        If exUser IsNot Nothing Then
            Return exUser.PrimarySmtpAddress
        Else
            Return currUser.Address
        End If
    End Function

    Bon codage 😉

  7. #7
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2019
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 18
    Par défaut
    Bonjour à tous,

    Et merci d'avoir eu le gentillesse de me répondre.

    J'ai testé les solutions que vous m'avez proposées, mais sans succès.

    Je retombe à chaque fois sur la chaine de caractères qui commence par /o=ExchangeLab..... mais il n'y a pas l'adresse mail complète à la fin, donc pas exploitable.
    Peut-être est-ce dû à l'environnement 365 ?

    Je peux bien récupérer le nom de la personne, mais toujours pas son adresse mail.

    Cordialement,

    Matou17

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/02/2014, 09h46
  2. Sélection du programme de mail par défaut dans combobox
    Par clickandgo dans le forum VBA Access
    Réponses: 2
    Dernier message: 01/06/2012, 18h26
  3. [WD12] Client mail par défaut dans les états
    Par jcpas dans le forum WinDev
    Réponses: 3
    Dernier message: 01/04/2010, 10h07
  4. Réponses: 4
    Dernier message: 24/09/2009, 14h43
  5. un nom de Fichier par défaut dans TsaveDialog
    Par toutou2000 dans le forum Débuter
    Réponses: 4
    Dernier message: 10/11/2008, 16h36

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