Outlook Kontakte auslesen vs. Kontakte anzeigen
Hallo zusammen,
mit unten stehendem Code lese ich mir die Kontake aus meinem Adressbuch aus.
Was mich nun sehr stuzig macht, ist, dass dabei auch Kontakte ausgegeben werden, die ich schon längst gelöscht habe und die auch nicht mehr im Adressbuch angezeigt werden.
Weiß von Euch jemand, weshalb das so ist, bzw. wie man da einen Abgleich hinbekommt?
OS: Win7 64 bit
Access: 2003
Outlook 2010 an Exchange 2010
Alle Updates/SP's sind installiert
Danke für alle Infos
Jochen
Dim olApp As Outlook.Application
Dim olNs As Outlook.NameSpace
Dim olFolder As Outlook.MAPIFolder
Dim olItem As Outlook.ContactItem
Dim olItemAdd As Outlook.ContactItem
On Error Resume Next
Set olApp = GetObject(, "Outlook.Application")
Set olNs = olApp.GetNamespace("MAPI")
Set olFolder = olNs.GetDefaultFolder(olFolderContacts)
For Each olItem In olFolder.Items
With olItem
Debug.Print .FullName
End With
Next olItem
ex:
olNs.Logoff
Set olNs = Nothing
Set olApp = Nothing
Set olFolder = Nothing
Set olItem = Nothing
Exit Sub
eh:
MsgBox Err.Description, vbCritical, "Fehler-Nr.: " & Err.Number
Resume ex
mit unten stehendem Code lese ich mir die Kontake aus meinem Adressbuch aus.
Was mich nun sehr stuzig macht, ist, dass dabei auch Kontakte ausgegeben werden, die ich schon längst gelöscht habe und die auch nicht mehr im Adressbuch angezeigt werden.
Weiß von Euch jemand, weshalb das so ist, bzw. wie man da einen Abgleich hinbekommt?
OS: Win7 64 bit
Access: 2003
Outlook 2010 an Exchange 2010
Alle Updates/SP's sind installiert
Danke für alle Infos
Jochen
Dim olApp As Outlook.Application
Dim olNs As Outlook.NameSpace
Dim olFolder As Outlook.MAPIFolder
Dim olItem As Outlook.ContactItem
Dim olItemAdd As Outlook.ContactItem
On Error Resume Next
Set olApp = GetObject(, "Outlook.Application")
Set olNs = olApp.GetNamespace("MAPI")
Set olFolder = olNs.GetDefaultFolder(olFolderContacts)
For Each olItem In olFolder.Items
With olItem
Debug.Print .FullName
End With
Next olItem
ex:
olNs.Logoff
Set olNs = Nothing
Set olApp = Nothing
Set olFolder = Nothing
Set olItem = Nothing
Exit Sub
eh:
MsgBox Err.Description, vbCritical, "Fehler-Nr.: " & Err.Number
Resume ex
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 218051
Url: https://administrator.de/contentid/218051
Ausgedruckt am: 25.11.2024 um 18:11 Uhr
1 Kommentar
Hallo swetrain,
da wäre mir absolut neu , und ich programmiere viel mit Outlook....
Was ich mir vorstellen könnte, ist das du mehrere Accounts bzw. persönliche Ordner in Outlook hast in denen ein ähnlicher Datenbestand herrscht den du aber nicht mehr nutzt, welcher aber trotzdem noch als Standard definiert sein könnte.
Dies kannst du überprüfen indem du deinen Kontakteordner direkt über den jeweiligen Store ansteuerst und nicht über den Default-Wert olFolderContacts, und zwar so:
Im Beispiel muss deine@mailadresse.de durch den Namen des obersten Knotens deines Exchange-Accounts ersetzt werden, außerdem gehe ich von eingedeutschten Exchange Ordnern aus (Kontakte)
Probier das mal aus ...
Grüße Uwe
da wäre mir absolut neu , und ich programmiere viel mit Outlook....
Was ich mir vorstellen könnte, ist das du mehrere Accounts bzw. persönliche Ordner in Outlook hast in denen ein ähnlicher Datenbestand herrscht den du aber nicht mehr nutzt, welcher aber trotzdem noch als Standard definiert sein könnte.
Dies kannst du überprüfen indem du deinen Kontakteordner direkt über den jeweiligen Store ansteuerst und nicht über den Default-Wert olFolderContacts, und zwar so:
Set olFolder = olNs.Stores("deine@mailadresse.de").GetRootFolder.Folders("Kontakte")
Probier das mal aus ...
Grüße Uwe