VBA, outlook 2007, Voornaam uit GAL gebruiken

Status
Niet open voor verdere reacties.

jackfish

Gebruiker
Lid geworden
10 sep 2010
Berichten
297
Geachte VBA specialisten,

Met onderstaande code lukt het om een e-mailadres uit de Global Address List te halen. Op welke manier kan ik de voornaam uit de lijst halen?. Dus met 1 druk op de knop zowel het e-mailadres verkrijgen en de voornaam in de aanhef van het e-mailbericht wegschrijven.

Private Sub CMD_aan_Click()
Dim cdoSession, cdoAddressBook, olkRecipients, objAE
On Error Resume Next

Set cdoSession = CreateObject("MAPI.Session")
cdoSession.Logon "", "", False, False
Set olkRecipients = cdoSession.AddressBook(, "Global Address List", 0, False)
For Each objAE In olkRecipients
TXTnaamcollega.Text = objAE.Name
Next
Set olkRecipients = Nothing
cdoSession.Logoff
Set cdoSession = Nothing
End Sub

Alvast dank. Gr Jackfish
 
Je hebt vast objAE.FirstName al geprobeerd?
 
Inderdaad Octafish, maar in tegenstelling tot objAE.name krijg ik de objAE.Firstname niet in een textbox ... be advised :-)

Private Sub CMD_aan_Click()
Dim cdoSession, cdoAddressBook, olkRecipients, objAE
On Error Resume Next

Set cdoSession = CreateObject("MAPI.Session")
cdoSession.Logon "", "", False, False
Set olkRecipients = cdoSession.AddressBook(, "Global Address List", 0, False)
For Each objAE In olkRecipients
TXTnaamcollega.Text = objAE.Name
TXTvoornaam.Text = objAE.FirstName

Next
Set olkRecipients = Nothing
cdoSession.Logoff
Set cdoSession = Nothing
End Sub
 
Helaas kent Outlook geen Intellisense.
Draai hem in Debug mode en sleep dan objAE naar het Controle venster.
Die kun je activeren via menukeuze Beeld en dan Controle venster.
Als het goed is zie je dan alle attributen en leden van dat object, inclusief hun waarden op dat moment.
 
Laatst bewerkt:
Dank je wel edmoor voor de verdieping. Het is mij gelukt om de attributen en leden van het object te bekijken; firstname komt niet voor. Ik begrijp dat ik die dan ook niet zo kan oproepen.
Is er misschien wel een code mogelijk om de string, (bijvoorbeeld; Fish, Jack the) zo te sorteren dat Jack vooraan komt te staan om vervolgens (van achter naar voren) tot het eerste woord alles te deleten? Ofwel, zo houd je alleen de voornaam over.

Gr Jackfish
 
Thanks edmoor. Ik kan de code niet nagaan CDO is niet geinstalleerd. Ik heb geen rechten om zelf CDO te installeren op ons syteem. Goed in ieder geval om daar te lezen "CDO is required - you cannot access first name and last name values from AddressEntry objects with Outlook VBA" . Dat scheelt verder zoeken in VBA

ik ga na of systeembeheer bereid is CDO te installeren.

Gr jackfish
 
Laatst bewerkt:
Ondanks dat het nu daarmee niet lukt ben je er in ieder geval weer wat wijzer van geworden dus :)
 
Dank daarvoor en het levert meer ideeën op om eens uit te zoeken.

Gr. Jackfish
 
Leuke werkjes voor de lange, koude Nederlandse zomeravonden :p
 
Ja, ik kan maar niet de juiste instellingen vinden :(

Lente.jpg
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan