Zugriff auf Outlook Adressbuch - Mailadresse

Moderator: ModerationP

Zugriff auf Outlook Adressbuch - Mailadresse

Beitragvon Speedz » 22. Feb 2018, 11:09

Hallo zusammen,

ich habe diese Frage schon im Access Forum gestellt, dort konnte mir bisher aber niemand helfen und ich wurde auf das Outlook Forum verwiesen. Deshalb also nun hier meine Anfrage:

Ich habe in einem Formular ein Textfeld, in das ich gerne Mailadressen aus Outlook übernehmen möchte. Ich greife per Button auf das Outlook Adressbuch zu, was auch soweit funktioniert. Ich komme an den Namen des markierten Eintrags und kann diesen auch in das Textfeld übernehmen. Mit der Mailadresse klappt das leider bisher nicht. Außerdem soll es auch möglich sein, mehrere Mailadresse in das Textfeld, getrennt mit Semikolon, zu übernehmen oder ein separates Feld mit den für CC markierten Einträgen zu füllen.

Code: Alles auswählen
Private Sub cmdOutlook_Click()
   
    Dim olApp As Outlook.Application
    Dim oDialog As SelectNamesDialog
    Dim MailItem As String
   
    Set olApp = GetObject(, "Outlook.Application")
    Set oDialog = olApp.Session.GetSelectNamesDialog
   
With oDialog
        .AllowMultipleSelection = False
        .ShowOnlyInitialAddressList = True
        If .Display Then
           'MailItem = oDialog.Recipients.Item(1).Email1Address
           'MailItem = oDialog.Recipients.Item(1).Name -> So funktioniert es mit dem Namen
           MailItem = oDialog.Recipients.Item(1).Address -> So bekomme ich einen zusammengesetzten String
            Debug.Print MailItem
            Me.txtKundeMail = MailItem
        End If
    End With
End Sub


So wie im Code angegeben bekomme ich einen String ausgelesen der so aussieht:
/o=Firma/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=test


Ich hätte aber gerne die Mailadresse wie test@firma.de

Danke schonmal im Voraus.

Viele Grüße, Speedz
Speedz
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 91
Registriert: 11. Nov 2014, 12:01

Re: Zugriff auf Outlook Adressbuch - Mailadresse

Beitragvon heigöö » 22. Feb 2018, 17:45

Moin,


https://msdn.microsoft.com/de-de/VBA/Ou ... -recipient

Dabei könne so etwas herauskommen:

Code: Alles auswählen
Private Sub OL759294()
Const PR_SMTP_ADDRESS As String = "http://schemas.microsoft.com/mapi/proptag/0x39FE001E"
Dim olApp As Object 'Outlook.Application
Dim oDialog As Object 'SelectNamesDialog
Dim objAddress As Object, objUser As Object, objReci As Object
   
    Set olApp = GetObject(, "Outlook.Application")
    Set oDialog = olApp.Session.GetSelectNamesDialog
    With oDialog
        .AllowMultipleSelection = False
        .ShowOnlyInitialAddressList = True
            If .Display Then
                For Each objReci In oDialog.Recipients
                    'Arraylist erstellen, wenn Daten vorhanden
                    If objAddress Is Nothing Then Set objAddress = CreateObject("System.Collections.Arraylist")
                    Set objUser = objReci.PropertyAccessor
                    objAddress.Add objUser.GetProperty(PR_SMTP_ADDRESS)
                Next
                If Not objAddress Is Nothing Then
                    Debug.Print Join(objAddress.ToArray, "; ")
                End If
            End If
    End With
End Sub


Der Beispielcode ist aus Excel heraus erstellt und ich nutze selten die entsprechenden Verweise, daher habe ich deine Variablen schon auf die Objekte reduziert.
Grüße
Gelegentlich vergesse ich die Begrüßung und/oder die Grußformel in meinen Beiträgen.
Ich bitte dieses zu entschuldigen und ergänze hiermit, wenn noch nicht im Post geschehen, die Begrüßung "Tach," bzw. die Grußformel "Grüße"
Benutzeravatar
heigöö
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 955
Registriert: 13. Apr 2016, 09:05

Re: Zugriff auf Outlook Adressbuch - Mailadresse

Beitragvon Speedz » 23. Feb 2018, 07:08

Hallo heigöö,

vielen vielen Dank für deine Hilfe, der Code funktioniert einwandfrei und das Thema ist für mich damit geschlossen.
Speedz
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 91
Registriert: 11. Nov 2014, 12:01


Zurück zu Outlook Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste