MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > Microsoft Access
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 22.05.2018, 12:18   #1
Forza SGD
MOF Profi
MOF Profi
Standard Acc2016 - OL AddressEntries

Hallo Zusammen,

ich habe folgenden Code im Netz gefunden. Ich möchte damit das globale Adressbuch "Empfänger" auslesen.

Code:

Option Compare Database

' --------------------
' benötigte Konstanten
' --------------------
Private Const olExchangeGlobalAddressList As Integer = 0
Private Const olExchangeUserAddressEntry As Integer = 0
Private Const olExchangeRemoteUserAddressEntry As Integer = 50

Public Sub readGAL()
    Dim oOutlook As Object
    Dim oAddressList As Object
    Dim oAddressEntry As Object
    Dim oExchangeUser As Object
    
    ' -----------------------
    ' Outlook-Instanz anlegen
    ' -----------------------
    
    Set oOutlook = CreateObject("Outlook.Application")
    
    ' -----------------------------
    ' Alle Adress-Listen durchgehen
    ' -----------------------------
    
    For Each oAddressList In oOutlook.Session.AddressLists
    
        ' -------------------------
        ' Prüfen, ob Exchange-Liste
        ' -------------------------
        
        If oAddressList.AddressListType = olExchangeGlobalAddressList Then
        
            ' -------------------------------
            ' Alle Adress-Einträge durchgehen
            ' -------------------------------
            
            For Each oAddressEntry In oAddressList.AddressEntries
            
                ' -------------------------
                ' Prüfen, ob Adress-Eintrag
                ' -------------------------
                
                If oAddressEntry.AddressEntryUserType = olExchangeUserAddressEntry _
                Or oAddressEntry.AddressEntryUserType = olExchangeRemoteUserAddressEntry Then
                
                    ' --------------------------
                    ' Eintrag von Exchange laden
                    ' --------------------------
                    
                    Set oExchangeUser = oAddressEntry.GetExchangeUser
                    
                   'For i = 1 To 10
                    
                    Debug.Print oExchangeUser.Name & ": " & oExchangeUser.Department
                   'Debug.Print oExchangeUser.Item(i)
                    
                   'Next
                    
                End If
                
            Next
            
        End If
        
    Next
    
    ' ------------------------
    ' Objektvariable freigeben
    ' ------------------------
    
    Set oExchangeUser = Nothing
    Set oAddressEntry = Nothing
    Set oAddressList = Nothing
    Set oOutlook = Nothing
    
End Sub
Dies funktioniert auch wunderbar. Allerdings waren im Code die AddressEntries Name und Department vorgegeben. Ich habe leider keine Übersicht zu allen möglichen AddressEntries gefunden. Schau ich mir die "Empfänger" Adressbuch in Outlook an, finde ich dort wesentlich mehr Attribute (leider auf deutsch). Kann mir jemand eine Übersicht benennen, bzw. eine Bibliothek, welche alle möglichen AddressEntries auswirft?

Im Endeffekt brauche ich das Adressbuch lokal. Ich habe es sont über den Wizard importiert. Dies dauert allerdings ewig und geschieht von Hand. Auch Abfragen von Access aus gegen OL bzw. Exchange sind extrem unperformant. Ist jemand noch eine andere Möglichkeit bekannt globale Adressbücher bequem auszulesen?

Ich bin für jede Art von Anregung dankbar und sag schon einmal Danke für eure Mühen.

Viele Grüße

Andreas
Forza SGD ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 22.05.2018, 14:07   #2
sonic8
MOF Koryphäe
MOF Koryphäe
Standard

Zitat: von Forza SGD Beitrag anzeigen

Schau ich mir die "Empfänger" Adressbuch in Outlook an, finde ich dort wesentlich mehr Attribute (leider auf deutsch). Kann mir jemand eine Übersicht benennen, bzw. eine Bibliothek, welche alle möglichen AddressEntries auswirft?

Die Microsoft Outlook xx.x Object Library wäre in dem Kontext naheliegend.

Zitat: von Forza SGD Beitrag anzeigen

Ist jemand noch eine andere Möglichkeit bekannt globale Adressbücher bequem auszulesen?

Wenn du Outlook auf dem Client voraussetzen kannst, ist das IMO die beste und vor allem einfachste Lösung.

Ansonsten gibt es diverse Webservices für den Zugriff auf Exchange-Daten.

__________________

Office / Access 2019: Rückkehr der Symbolleiste?
sonic8 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 22.05.2018, 14:18   #3
markusxy
MOF Meister
MOF Meister
Standard

Zitat: von Forza SGD Beitrag anzeigen

Auch Abfragen von Access aus gegen OL bzw. Exchange sind extrem unperformant

Welche Technik meinst du damit konkret?

Was willst du schlussendlich erreichen?
markusxy ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 22.05.2018, 15:36   #4
Forza SGD
Threadstarter Threadstarter
MOF Profi
MOF Profi
Standard

Hallo Zusammen,

erst einmal vielen Dank für Eure Hilfe.

@sonic8

Zitat:

Die Microsoft Outlook xx.x Object Library wäre in dem Kontext naheliegend.

Hab ich leider keine hinreichende Aufstellung aller Eigenschaften finden können. Kann aber gut und gerne daran liegen, dass ich mich da etwas anstelle.

Zitat:

Wenn du Outlook auf dem Client voraussetzen kannst, ist das IMO die beste und vor allem einfachste Lösung.

Vielen Dank für die Anregung. Ich schaue es mir an.

@markusxy

Zitat:

Welche Technik meinst du damit konkret?

Ich habe bisher lediglich zwei Wege probiert. Weg Nummer 1, das Adressbuch importieren. Bei ca. 25.000 Sätzen dauert dies ca. 1 Stunde. Des Weiteren habe ich das Adressbuch verlinkt. Abfrage auf das verlinkte Adressbuch dauerten ebenfalls eine gefühlte Ewigkeit.

Zitat:

Was willst du schlussendlich erreichen?

Mitarbeiter führen bei uns eine ID. Deren geschäftlichen Kontaktdaten sind allerdings nicht in unserem DWH hinterlegt. Diese kann ich lediglich aus Outlook oder dem Active Directory beziehen. Ich möchte mir mittels der Mitarbeiter-ID (welche in diesem Adressbuch hinterlegt ist) den entsprechenden Adresssatz ziehen.

Mittlerweile habe habe ich die Properties des ExchangeUser bzw. AddressEntries gefunden. Schau mir aber alle anderen Sachen auch an.

Nochmals besten Dank für Eure Hilfe!

Viele Grüße

Andreas
Forza SGD ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 22.05.2018, 16:24   #5
markusxy
MOF Meister
MOF Meister
Standard

Kannst du nicht direkt über die Kontakte auf die Adressen zugreifen?
Da kannst du mittels Restrict oder Find filtern.

Ansonsten kenne ich noch die Möglichkeit via Redemption Klassen (kostenpflichtige Entwickler Version - kannst ja mal testen) direkt via ADO Recordsets über das MapiTable zu suchen.

Kann man beim ActiveDirektory nicht auch direkt via SQL abfragen?

LG Markus
markusxy ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:16 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.