Hallo alle zusammen,
ich erstelle gerade für meine Firma eine art Kontaktliste, welche alle Mitarbeiter in Deutschland, Frankreich, Spanien und ein wenig darüber hinaus auflistet, die in meinen Projekten zu tun haben. Das ermöglicht uns, schnell einen Überblick über Anzahl, Namen, Funktion und Kontaktmöglichkeiten zu erlangen. Und darum geht es nun auch bei meinem Problem.
Mein Makro, welches anhand eines Alias welches in ein Userform eingetippt wird und automatisch alle anderen Infos durch Filtern ausliest funktioniert einwandfrei:
Private Sub TextBox5_AfterUpdate()
Dim NewMapi As MAPI.Session, MapiAdd As MAPI.AddressEntries, MapiAddEn As MAPI.AddressEntry
Dim objFilter As MAPI.AddressEntryFilter
Dim OutputAR(), i As Long
Dim thuser As String
' Dies ist das Alias welches in das Userform eingegeben wird
thuser = NewCon.TextBox5.Value
Set NewMapi = CreateObject("MAPI.session")
NewMapi.Logon , , False, False, , True
'Hier sage ich ihm, dass er das Globale Adressbuch nehmen soll
Set MapiAdd = NewMapi.AddressLists("Globale Adressliste").AddressEntries
'Mein Filter das ihm sagt, dass nur der Kontakt mit dem Alias,welches vorher eingetippt wurde ausgelesen werden soll
Set objFilter = MapiAdd.Filter
objFilter.Fields.Add 973078558, thuser
On Error Resume Next
'Hier werden dann meine benötigten INfos aus dem gefilterten Kontakt in die dafür vorgesehenen Felder übernommen
For Each MapiAddEn In MapiAdd
NewCon.Label1.Caption = MapiAddEn.Name
NewCon.Label2.Caption = MapiAddEn.Fields(CdoPR_DEPARTMENT_NAME)
NewCon.Label4.Caption = MapiAddEn.Fields(CdoPR_OFFICE_TELEPHONE_NUMBER)
NewCon.Label3.Caption = MapiAddEn.Fields(972947486)
Next
NewMapi.Logoff
Set MapiAdd = Nothing
Set NewMapi = Nothing
NewMapi = Nothing
End Sub
Jetzt habe ich das ganze einem Kollegen in Frankreich zum testen gegeben, der die MAPI_E_NOT_FOUND Fehlermeldung bekommt und an der Zeile:
Set MapiAdd = NewMapi.AddressLists("Globale Adressliste").AddressEntries
stoppt.
Wenn ich statt Globale Adressliste "Global Address List" eingebe funktioniert es auch nicht..weder bei mir (MAPI_E_NOT_FOUND Fehlermeldung) noch in einem anderen Land :)
Wie kann ich meinein Code international zum laufen bringen? Habe schon einmal herausgefunden, dass es sowas wie "CdoAddressListGAL" gibt, da kann ich aber nciht mehr filtern. Gibt es nicht wie bei dem Alias (973078558) oder der Email (972947486) adresse eine alternative zum ausschreiben des Namens des GAL?
Kann ich nicht sonst auch bei Outlook die "Liste": "All Users" auslesen und filtern?
Vielen dank schonmal für eure Hilfe :)
Grüße
Timmo
|