• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Uitlezen van overige telefoonnummers uit GAL

Status
Niet open voor verdere reacties.

HansFRAP

Gebruiker
Lid geworden
12 jul 2011
Berichten
233
Issue
Binnen onzen organisatie zijn de verkorte nummers afgeschaft. Dat heeft tot gevolg dat alle nummers in je eigen Contactpersonen aangepast moeten worden.
Ik heb vba-code om de Outlook-Gal en Contactpersonen uit te lezen. Hiermee kan ik (simpel) de contactpersonennummers bijwerken. (GAL info is leidend en wordt gebruikt voor contactpersonen in je telefoon zodat je weet wie er belt.)

Probleem
Met deze code worden slechts 2 van de minimaal 8 telefoonnummers, die je in overzicht Addressbook ziet, gepresenteerd.
In overzicht ExchangeUser Members worden deze 2 (BusinessTelephoneNumber, MobileTelephoneNumber) beschreven.

Vraag
Is het mogelijk om de overige nummers uit de GAL te lezen??
Zo ja, hoe??


Uit te vragen nummers tbv Contactpersonen:
AssistantTelephoneNumber
BusinessTelephoneNumber
Business2TelephoneNumber
CallbackTelephoneNumber
CarTelephoneNumber
CompanyMainTelephoneNumber
HomeTelephoneNumber
Home2TelephoneNumber
MobileTelephoneNumber
OtherTelephoneNumber
PrimaryTelephoneNumber
RadioTelephoneNumber
TTYTDDTelephoneNumber
 
VBA code is eigenlijk niet nodig daar het hier om de ExchangeUser Members gaat.
Hier staan de Outlook onderdelen. Er zijn echter maar 2 tel.nummers.

Ik plaats die in een Excel tabel (dat werkt dus daar geen vragen over)
....
Set olUser = olAddressEntry.GetExchangeUser
ActiveCell.Offset(i, 1) = olUser.Address
ActiveCell.Offset(i, 2) = olUser.AddressEntryUserType
ActiveCell.Offset(i, 3) = olUser.Alias
ActiveCell.Offset(i, 4) = olUser.Application
ActiveCell.Offset(i, 5) = olUser.AssistantName
ActiveCell.Offset(i, 6) = olUser.BusinessTelephoneNumber
ActiveCell.Offset(i, 7) = olUser.City
ActiveCell.Offset(i, 8) = olUser.Class
ActiveCell.Offset(i, 9) = olUser.Comments
ActiveCell.Offset(i, 10) = olUser.CompanyName
ActiveCell.Offset(i, 11) = olUser.Department
ActiveCell.Offset(i, 12) = olUser.DisplayType
ActiveCell.Offset(i, 13) = olUser.FirstName
ActiveCell.Offset(i, 14) = olUser.ID
ActiveCell.Offset(i, 15) = olUser.JobTitle
ActiveCell.Offset(i, 16) = olUser.LastName
ActiveCell.Offset(i, 17) = olUser.MobileTelephoneNumber
ActiveCell.Offset(i, 18) = olUser.Name
ActiveCell.Offset(i, 19) = olUser.OfficeLocation
'ActiveCell.Offset(i, 20) = olUser.Parent
ActiveCell.Offset(i, 21) = olUser.PostalCode
ActiveCell.Offset(i, 22) = olUser.PrimarySmtpAddress
ActiveCell.Offset(i, 23) = olUser.PropertyAccessor
ActiveCell.Offset(i, 24) = olUser.Session
ActiveCell.Offset(i, 25) = olUser.StateOrProvince
ActiveCell.Offset(i, 26) = olUser.StreetAddress
ActiveCell.Offset(i, 27) = olUser.Type
ActiveCell.Offset(i, 28) = olUser.YomiCompanyName
ActiveCell.Offset(i, 29) = olUser.YomiDepartment
ActiveCell.Offset(i, 30) = olUser.YomiDisplayName
ActiveCell.Offset(i, 31) = olUser.YomiFirstName
ActiveCell.Offset(i, 32) = olUser.YomiLastName
Set olAddressEntry = Nothing
.....
 
Je laat nog niet zien waar je de info uit leest. De GAL kan je zo bereiken:
GetNameSpace("MAPI").AddressLists("Global Address List").AddressEntries
 
Ed, dank voor reaktie maar de discussie gaat hier de verkeerde kant op.

Ik heb mijn code van:
http://www.snb-vba.eu/VBA_Outlook_external.html
onderdeel: Kontaktpersoon eigenschappen

Hier wordt aangegeven dat je 144 properties van Contactpersonen kunt uitlezen.

Om de Gal uit te lezen heb ik MS-code gebruikt:
Sub DemoAE()
Dim colAL As Outlook.AddressLists
Dim oAL As Outlook.AddressList
Dim colAE As Outlook.AddressEntries
Dim oAE As Outlook.AddressEntry
Dim oExUser As Outlook.ExchangeUser
Set colAL = Application.Session.AddressLists
For Each oAL In colAL
'Address list is an Exchange Global Address List
If oAL.AddressListType = olExchangeGlobalAddressList Then
Set colAE = oAL.AddressEntries
For Each oAE In colAE
If oAE.AddressEntryUserType = olExchangeUserAddressEntry Or oAE.AddressEntryUserType = olExchangeRemoteUserAddressEntry then
Set oExUser = oAE.GetExchangeUser
Debug.Print (oExUser.JobTitle)
Debug.Print (oExUser.OfficeLocation)
Debug.Print (oExUser.BusinessTelephoneNumber)
End If
Next
End If
Next
End Sub

MS geeft alleen aan dat er 32 properties zijn die je kunt uitlezen. Hierin zitten slechts 2 tel nummers. Wanneer je echter in Outlook address-book kijkt staan er zeker 8 mogelijkheden om een tel nummer in op te voeren.

Vraag is dus:
Hoe kan ik alle tel nummers (properties) uit de Outlook GAL lezen?? (MS geeft dus in ExchangeUser Members slechts 32 properties aan)
Als Contactpersonen al 144 properties heeft, dan moet Address-book toch meer dan 32 properties hebben!
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan