Finding an email address based on a name

  • Thread starter Thread starter cherman
  • Start date Start date
Status
Not open for further replies.
C

cherman

Hi there. I am working in Access 2003 with a reference to Outlook 2003. Is

there a way in VBA to find an email address based on a name? Maybe something

like using the Select Names dialog when you click the To... button on an

email message?

I can obviously do this manually by typing in the name and showing results

from the Global Address List, but I could have hundreds to do and I would

love to populate a table automatically behind the scenes.

Thanks in advance,

Clint
 
Use Namespace.CreateRecipient, followed by Recipient.Resolve

Dmitry Streblechenko (MVP)

-

"cherman" <cherman> wrote in message

news:B5F1D65E-1421-495E-B174-D10EF49573BB@microsoft.com...
> Hi there. I am working in Access 2003 with a reference to Outlook 2003. Is
> there a way in VBA to find an email address based on a name? Maybe
> something
> like using the Select Names dialog when you click the To... button on an
> email message?

> I can obviously do this manually by typing in the name and showing results
> from the Global Address List, but I could have hundreds to do and I would
> love to populate a table automatically behind the scenes.

> Thanks in advance,
> Clint
 
Thank you. I can get the code to work with my existing code and get the test

to pan out (that the recipient is in the address book), but how do I capture

the actual email address?

Thanks again!

Clint

"Dmitry Streblechenko" wrote:


> Use Namespace.CreateRecipient, followed by Recipient.Resolve

> > Dmitry Streblechenko (MVP)
>

>

>

> -
> "cherman" <cherman> wrote in message
> news:B5F1D65E-1421-495E-B174-D10EF49573BB@microsoft.com...
> > Hi there. I am working in Access 2003 with a reference to Outlook 2003. Is
> > there a way in VBA to find an email address based on a name? Maybe
> > something
> > like using the Select Names dialog when you click the To... button on an
> > email message?
> > I can obviously do this manually by typing in the name and showing results
> > from the Global Address List, but I could have hundreds to do and I would
> > love to populate a table automatically behind the scenes.
> > Thanks in advance,
> > Clint


> .
>
 
After you successfully call Recipient.Resolve, Recipeint.Address will give

you what you need.

Dmitry Streblechenko (MVP)

-

"cherman" <cherman> wrote in message

news:51B3F062-27D0-4106-973B-871BE93A9D3E@microsoft.com...
> Thank you. I can get the code to work with my existing code and get the
> test
> to pan out (that the recipient is in the address book), but how do I
> capture
> the actual email address?

> Thanks again!
> Clint

> "Dmitry Streblechenko" wrote:
>
> > Use Namespace.CreateRecipient, followed by Recipient.Resolve
>

>> > > Dmitry Streblechenko (MVP)
> >

> >

> >

> > -
> > "cherman" <cherman> wrote in message
> > news:B5F1D65E-1421-495E-B174-D10EF49573BB@microsoft.com...
> > > Hi there. I am working in Access 2003 with a reference to Outlook 2003.
> > > Is
> > > there a way in VBA to find an email address based on a name? Maybe
> > > something
> > > like using the Select Names dialog when you click the To... button on
> > > an
> > > email message?
> >> > I can obviously do this manually by typing in the name and showing
> > > results
> > > from the Global Address List, but I could have hundreds to do and I
> > > would
> > > love to populate a table automatically behind the scenes.
> >> > Thanks in advance,
> > > Clint

>

>
>> .
> >
 
Hi there again. When I use this, I get a string like these.

> .../ou=Exchange Administrative Group

(FYDIBOHF23SPDLT)/cn=Recipients/cn=cghermaX

> .../OU=Americas01/cn=Recipients/cn=dmahesh

Although I can use the name or alias to populate an email, I really need the

actual email address. I've been looking online, but I just can't seem to

figure this out.

Any suggestions?

Thanks,

Clint

"Dmitry Streblechenko" wrote:


> After you successfully call Recipient.Resolve, Recipeint.Address will give
> you what you need.

> > Dmitry Streblechenko (MVP)
>

>

>

> -
> "cherman" <cherman> wrote in message
> news:51B3F062-27D0-4106-973B-871BE93A9D3E@microsoft.com...
> > Thank you. I can get the code to work with my existing code and get the
> > test
> > to pan out (that the recipient is in the address book), but how do I
> > capture
> > the actual email address?
> > Thanks again!
> > Clint
> > "Dmitry Streblechenko" wrote:
> >
> >> Use Namespace.CreateRecipient, followed by Recipient.Resolve
> >
> >> > >> Dmitry Streblechenko (MVP)
> >>

> >>

> >>

> >> -
> >> "cherman" <cherman> wrote in message
> >> news:B5F1D65E-1421-495E-B174-D10EF49573BB@microsoft.com...
> >> > Hi there. I am working in Access 2003 with a reference to Outlook 2003.
> >> > Is
> >> > there a way in VBA to find an email address based on a name? Maybe
> >> > something
> >> > like using the Select Names dialog when you click the To... button on
> >> > an
> >> > email message?
> >> >> > I can obviously do this manually by typing in the name and showing
> >> > results
> >> > from the Global Address List, but I could have hundreds to do and I
> >> > would
> >> > love to populate a table automatically behind the scenes.
> >> >> > Thanks in advance,
> >> > Clint
> >
> >
> >> .
> >>


> .
>
 
That *is* the actual e-mail address. It just happens to be of EX type, while

you probably need SMTP.

If you are using Outlook 2007 or higher, you can use

ExchangeUser.PrimarySmtpAddress property (ExchangeUser object is returned by

the AddressEntry.GetExchangeUser method, which can return null).

Dmitry Streblechenko (MVP)

-

"cherman" <cherman> wrote in message

news:424EB34F-F72F-466C-8357-2A11E2CDA358@microsoft.com...
> Hi there again. When I use this, I get a string like these.

> .../ou=Exchange Administrative Group
> (FYDIBOHF23SPDLT)/cn=Recipients/cn=cghermaX

> .../OU=Americas01/cn=Recipients/cn=dmahesh

> Although I can use the name or alias to populate an email, I really need
> the
> actual email address. I've been looking online, but I just can't seem to
> figure this out.

> Any suggestions?

> Thanks,
> Clint

> "Dmitry Streblechenko" wrote:
>
> > After you successfully call Recipient.Resolve, Recipeint.Address will
> > give
> > you what you need.
>

>> > > Dmitry Streblechenko (MVP)
> >

> >

> >

> > -
> > "cherman" <cherman> wrote in message
> > news:51B3F062-27D0-4106-973B-871BE93A9D3E@microsoft.com...
> > > Thank you. I can get the code to work with my existing code and get the
> > > test
> > > to pan out (that the recipient is in the address book), but how do I
> > > capture
> > > the actual email address?
> >> > Thanks again!
> > > Clint
> >>> > "Dmitry Streblechenko" wrote:
> >> >> Use Namespace.CreateRecipient, followed by Recipient.Resolve
> > >
>> >> > > >> Dmitry Streblechenko (MVP)
> > >>

> > >>

> > >>

> > >> -
> > >> "cherman" <cherman> wrote in message
> > >> news:B5F1D65E-1421-495E-B174-D10EF49573BB@microsoft.com...
> > >> > Hi there. I am working in Access 2003 with a reference to Outlook
> > >> > 2003.
> > >> > Is
> > >> > there a way in VBA to find an email address based on a name? Maybe
> > >> > something
> > >> > like using the Select Names dialog when you click the To... button
> > >> > on
> > >> > an
> > >> > email message?
> > >>> >> > I can obviously do this manually by typing in the name and showing
> > >> > results
> > >> > from the Global Address List, but I could have hundreds to do and I
> > >> > would
> > >> > love to populate a table automatically behind the scenes.
> > >>> >> > Thanks in advance,
> > >> > Clint
> > >
>> >
>> >> .
> > >>

>

>
>> .
> >
 
Thanks a lot for your continued help. Sorry, but as I mentioned before, I'm

using Outlook 2003.

I mentioned in a previous post that I know what is returned is an actual

email address. This will work just fine for my internal needs. However, my

users will be exporting contact lists that will go all over the place, so the

SMTP address is the only one that will do. We cannot pass something like

"Clint Herman" outside of our own Exchange environment as an email address.

Any more suggestions? I thought it would be easy to get the SMTP. Maybe it

is and I just can't seem to hit the target. Is there somewhere online that

has a complete example of this?

Thanks again!

Clint

"Dmitry Streblechenko" wrote:


> That *is* the actual e-mail address. It just happens to be of EX type, while
> you probably need SMTP.
> If you are using Outlook 2007 or higher, you can use
> ExchangeUser.PrimarySmtpAddress property (ExchangeUser object is returned by
> the AddressEntry.GetExchangeUser method, which can return null).

> > Dmitry Streblechenko (MVP)
>

>

>

> -
> "cherman" <cherman> wrote in message
> news:424EB34F-F72F-466C-8357-2A11E2CDA358@microsoft.com...
> > Hi there again. When I use this, I get a string like these.
> > .../ou=Exchange Administrative Group
> > (FYDIBOHF23SPDLT)/cn=Recipients/cn=cghermaX
> > .../OU=Americas01/cn=Recipients/cn=dmahesh
> > Although I can use the name or alias to populate an email, I really need
> > the
> > actual email address. I've been looking online, but I just can't seem to
> > figure this out.
> > Any suggestions?
> > Thanks,
> > Clint
> > "Dmitry Streblechenko" wrote:
> >
> >> After you successfully call Recipient.Resolve, Recipeint.Address will
> >> give
> >> you what you need.
> >
> >> > >> Dmitry Streblechenko (MVP)
> >>

> >>

> >>

> >> -
> >> "cherman" <cherman> wrote in message
> >> news:51B3F062-27D0-4106-973B-871BE93A9D3E@microsoft.com...
> >> > Thank you. I can get the code to work with my existing code and get the
> >> > test
> >> > to pan out (that the recipient is in the address book), but how do I
> >> > capture
> >> > the actual email address?
> >> >> > Thanks again!
> >> > Clint
> >> >> >> > "Dmitry Streblechenko" wrote:
> >> >> >> Use Namespace.CreateRecipient, followed by Recipient.Resolve
> >> >
> >> >> > >> >> Dmitry Streblechenko (MVP)
> >> >>

> >> >>

> >> >>

> >> >> -
> >> >> "cherman" <cherman> wrote in message
> >> >> news:B5F1D65E-1421-495E-B174-D10EF49573BB@microsoft.com...
> >> >> > Hi there. I am working in Access 2003 with a reference to Outlook
> >> >> > 2003.
> >> >> > Is
> >> >> > there a way in VBA to find an email address based on a name? Maybe
> >> >> > something
> >> >> > like using the Select Names dialog when you click the To... button
> >> >> > on
> >> >> > an
> >> >> > email message?
> >> >> >> >> > I can obviously do this manually by typing in the name and showing
> >> >> > results
> >> >> > from the Global Address List, but I could have hundreds to do and I
> >> >> > would
> >> >> > love to populate a table automatically behind the scenes.
> >> >> >> >> > Thanks in advance,
> >> >> > Clint
> >> >
> >> >
> >> >> .
> >> >
> >
> >
> >> .
> >>


> .
>
 
If you cannot use Outlook 2007, your only options are either Extended MAPI

(C++/Delphi) or <plug> Redemption: it exposes SmtpAddress propertty in all

versions of Outlook - you can use somethng like the following:

set Session = CreateObject("Redemption.RDOSession")

Session.MAPIOBJECT = Application.Session.MAPIOBJECT

set AddrEntry = Session.AddressBook.ResolveName("dmitry streblechenko")

strSmtpAddress = AddrEntry.SmtpAddress

MsgBox strSmtpAddress

</plug

Dmitry Streblechenko (MVP)

-

"cherman" <cherman> wrote in message

news:FBCDF366-B609-4F9D-B225-4251A8CE682B@microsoft.com...
> Thanks a lot for your continued help. Sorry, but as I mentioned before,
> I'm
> using Outlook 2003.

> I mentioned in a previous post that I know what is returned is an actual
> email address. This will work just fine for my internal needs. However, my
> users will be exporting contact lists that will go all over the place, so
> the
> SMTP address is the only one that will do. We cannot pass something like
> "Clint Herman" outside of our own Exchange environment as an email
> address.

> Any more suggestions? I thought it would be easy to get the SMTP. Maybe it
> is and I just can't seem to hit the target. Is there somewhere online that
> has a complete example of this?

> Thanks again!
> Clint

> "Dmitry Streblechenko" wrote:
>
> > That *is* the actual e-mail address. It just happens to be of EX type,
> > while
> > you probably need SMTP.
> > If you are using Outlook 2007 or higher, you can use
> > ExchangeUser.PrimarySmtpAddress property (ExchangeUser object is returned
> > by
> > the AddressEntry.GetExchangeUser method, which can return null).
>

>> > > Dmitry Streblechenko (MVP)
> >

> >

> >

> > -
> > "cherman" <cherman> wrote in message
> > news:424EB34F-F72F-466C-8357-2A11E2CDA358@microsoft.com...
> > > Hi there again. When I use this, I get a string like these.
> >> > .../ou=Exchange Administrative Group
> > > (FYDIBOHF23SPDLT)/cn=Recipients/cn=cghermaX
> >> > .../OU=Americas01/cn=Recipients/cn=dmahesh
> >> > Although I can use the name or alias to populate an email, I really
> > > need
> > > the
> > > actual email address. I've been looking online, but I just can't seem
> > > to
> > > figure this out.
> >> > Any suggestions?
> >> > Thanks,
> > > Clint
> >>> > "Dmitry Streblechenko" wrote:
> >> >> After you successfully call Recipient.Resolve, Recipeint.Address will
> > >> give
> > >> you what you need.
> > >
>> >> > > >> Dmitry Streblechenko (MVP)
> > >>

> > >>

> > >>

> > >> -
> > >> "cherman" <cherman> wrote in message
> > >> news:51B3F062-27D0-4106-973B-871BE93A9D3E@microsoft.com...
> > >> > Thank you. I can get the code to work with my existing code and get
> > >> > the
> > >> > test
> > >> > to pan out (that the recipient is in the address book), but how do I
> > >> > capture
> > >> > the actual email address?
> > >>> >> > Thanks again!
> > >> > Clint
> > >>> >>> >> > "Dmitry Streblechenko" wrote:
> > >>> >> >> Use Namespace.CreateRecipient, followed by Recipient.Resolve
> > >> >
>> >> >> > > >> >> Dmitry Streblechenko (MVP)
> > >> >>

> > >> >>

> > >> >>

> > >> >> -
> > >> >> "cherman" <cherman> wrote in message
> > >> >> news:B5F1D65E-1421-495E-B174-D10EF49573BB@microsoft.com...
> > >> >> > Hi there. I am working in Access 2003 with a reference to Outlook
> > >> >> > 2003.
> > >> >> > Is
> > >> >> > there a way in VBA to find an email address based on a name?
> > >> >> > Maybe
> > >> >> > something
> > >> >> > like using the Select Names dialog when you click the To...
> > >> >> > button
> > >> >> > on
> > >> >> > an
> > >> >> > email message?
> > >> >>> >> >> > I can obviously do this manually by typing in the name and
> > >> >> > showing
> > >> >> > results
> > >> >> > from the Global Address List, but I could have hundreds to do and
> > >> >> > I
> > >> >> > would
> > >> >> > love to populate a table automatically behind the scenes.
> > >> >>> >> >> > Thanks in advance,
> > >> >> > Clint
> > >> >
>> >> >
>> >> >> .
> > >> >
>> >
>> >
>> >> .
> > >>

>

>
>> .
> >
 
Status
Not open for further replies.
Similar threads
Thread starter Title Forum Replies Date
H Finding text in open email Outlook VBA and Custom Forms 12
P finding a folder containing an email item Using Outlook 0
S Finding an inbox email question Outlook VBA and Custom Forms 2
bhamberg Finding a rouge rule... Using Outlook 6
K Outlook.com is not showing, or finding via search, all my Contacts (People) Using Outlook 0
A ScanPST finding errors but no Repair button Using Outlook 2
F Finding Meetings/Tasks in a date range Using Outlook 1
M Finding Tasks in Outlook 365 Using Outlook 1
A "search people" not finding all contacts Using Outlook 17
Commodore Finding items from last 7 days Using Outlook 2
T Need help with finding/updating task Outlook VBA and Custom Forms 1
M Finding a folder by name Outlook 2013 Using Outlook 4
S Finding Distribution List Name Outlook VBA and Custom Forms 3
Ron Kirschner Finding a rule Using Outlook 1
A OL13 Calendar Search not finding most items Using Outlook 15
L Finding deleted contact from shared folder. Exchange Server Administration 1
G finding Outlook 2010 pst in Windows XP Using Outlook 2
N Finding messages by conversation macro Outlook VBA and Custom Forms 1
M Outlook VBA Form not finding FOR LOOP -- Error message Outlook VBA and Custom Forms 2
D Outlook Desktop App Email Software Using Outlook 0
P Email and calendar entry text now shifts right about 3 tabs worth of space Using Outlook 1
J Outlook macro to run before email is being send Outlook VBA and Custom Forms 0
T Outlook 2010 Creating a email 'Group' in OL 2010 Using Outlook 2
D Send email from Outlook Alias using Mac? Using Outlook 0
T How to set Default FONT for Email composing ? Using Outlook 0
T Why do Outlook Desktop 2021 tasks from my wife's email show up in my task pane? Using Outlook 2
A Opening a link from an email automatically Outlook VBA and Custom Forms 0
D Outlook 2021 New email reminder Using Outlook.com accounts in Outlook 1
Rupert Dragwater How do I remove an email ending with @gmail.com Using Outlook 4
M A plug in (or method) to keep email message formatting after it expires Using Outlook 1
L VBA to Triage Incoming Email Outlook VBA and Custom Forms 0
R Legacy Outlook on Mac Email Cache Using Outlook 0
P Email address auto-completes work fine on laptop, but no longer on desktop Using Outlook 3
S Create Outlook Task from Template and append Body with Email Body Outlook VBA and Custom Forms 4
H Copying email address(es) in body of email and pasting in To field Outlook VBA and Custom Forms 1
A Search folder and move the email Outlook VBA and Custom Forms 0
P VBA to add email address to Outlook 365 rule Outlook VBA and Custom Forms 0
farrissf Outlook 2016 Optimizing Email Searches in Outlook 2016: Seeking Insights on Quick Search vs Advanced Search Features Using Outlook 0
D Delete selected text in outgoing email body Outlook VBA and Custom Forms 0
F Graphics in email / Mac recipient garbled Using Outlook 0
D Outlook VBA forward the selected email to the original sender’s email ID (including the email used in TO, CC Field) from the email chain Outlook VBA and Custom Forms 2
Witzker Outlook 2019 Macro to seach in all contact Folders for marked Email Adress Outlook VBA and Custom Forms 0
E Outlook 365 Save Selected Email Message as .msg File - oMail.Delete not working when SEARCH Outlook VBA and Custom Forms 0
S Email Macros to go to a SHARED Outlook mailbox Draft folder...NOT my personal Outlook Draft folder Using Outlook 2
R Outlook 365 VBA AUTO SEND WITH DELAY FOR EACH EMAIL Outlook VBA and Custom Forms 0
G Print email attachments when hit subfolder Outlook VBA and Custom Forms 1
C Spam Email? Using Outlook 2
G Automatically delete email when a condition is met Outlook VBA and Custom Forms 1
E Save Selected Email Message as .msg File - digitally sign email doesn't works Outlook VBA and Custom Forms 1
S Email was migrated from GoDaddy to Microsoft exchange. We lost IMAP ability Exchange Server Administration 1

Similar threads

Back
Top