> Måske kan du arbejder videre med denne kode:
>
> Function HentOutlookNavn(ce)
> kode
> End Function
>
> Den fourdsætter at initialerne altid er på tre tegn, og at de
altid
> indgår som de første tre bogstaver i e-mail adressen.
Funktuionen
> leder i Contacts, men du kan muligvis selv ændre den, så den
leder i
> den globale adressebog i Outlook. Findes der ingen person med
de tre
> initialer, returnerer funktionen 0.
Hej Jan,
Din kode kan jeg desværre ikke bruge idet den forudsætter at
emailadressen er af typen initialer@domæne.dk. Det er ikke
tilfældet hos os, idet vi bruger typen fuldenavn@domæne.dk, men
med "Alias" for initialerne.
Jeg er dog kommet videre i sagen og har faktisk løst mit problem.
Jeg benytter mig af noget CDO kode (Collaboration Data Objects)
fundet på
http://www.cdolive.com/, som jeg har tilpasset, så det
passer til mit behov.
For at det skal virke er det vigtigt at man husker at sætte VBE
referencen: Microsoft CDO 1.21 Library. Iøvrigt skulle man også
huske VBE referencen: Microsoft Outlook 11.0 Object Library for
at få din kode til at virke.
I mit eksempel har jeg initialerne i området B1:B18. Jeg ønsker
herefter navnene i området C1:C18. Min kode er som følger, hvis
nogen skulle være interesseret.
Sub FindLangtNavnUdfraInitialer()
' code from
http://www.cdolive.com
' Sæt VBE referencen: Microsoft CDO 1.21 Library
Dim NavnInitialer As String
Dim NavnPerson As String
Set objSession = New MAPI.Session
objSession.Logon "", "", False, False, 0
Set objNewMessage = objSession.Outbox.Messages.Add
For i = 1 To 18
NavnInitialer = Range("B" & i)
Set objRecipient = objNewMessage.Recipients.Add
objRecipient.Name = "=" & NavnInitialer
objRecipient.Resolve = True
NavnPerson = objRecipient.Name
Range("C" & i) = NavnPerson
objNewMessage.Recipients.Delete
Next
objSession.Logoff
Set objRecipient = Nothing
Set objSession = Nothing
Beep
End Sub
mvh
Lars Thomsen Nielsen