Finding an email address based on a name

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
 
D

Dmitry Streblechenko

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
 
C

cherman

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


> .
>
 
D

Dmitry Streblechenko

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

>

>
>> .
> >
 
C

cherman

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
> >
> >
> >> .
> >>


> .
>
 
D

Dmitry Streblechenko

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
> > >
>> >
>> >> .
> > >>

>

>
>> .
> >
 
C

cherman

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
> >> >
> >> >
> >> >> .
> >> >
> >
> >
> >> .
> >>


> .
>
 
D

Dmitry Streblechenko

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
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
V Can one change the formatting of email title blocks? Using Outlook 0
P default font when sending email from browser Using Outlook 1
D VBA Macro to Print and Save email to network location Outlook VBA and Custom Forms 1
B IMAP server rejects sent email - cannot deliver messages Using Outlook 2
TedSch Small vba to kill political email Outlook VBA and Custom Forms 3
X Open Hyperlinks in an Outlook Email Message (Help with Diane's solution) Outlook VBA and Custom Forms 3
e_a_g_l_e_p_i Email notifications changed with Outlook 2021 Using Outlook 8
glnz How to retrieve or redo Verizon.net email password without affecting Outlook connection? Using Outlook 1
Z Copy specific email body text Outlook VBA and Custom Forms 0
D ISOmacro to extract active mail senders name and email, CC, Subject line, and filename of attachments and import them into premade excel spread sheet Outlook VBA and Custom Forms 2
M Outlook 365 refuses to send email Using Outlook 1
B Search and Find Email by Folder Name Outlook VBA and Custom Forms 2
K Closing external IMAP email... Outlook 2013 Using Outlook 0
L Capture email addresses and create a comma separated list Outlook VBA and Custom Forms 5
C Email bomb processing Outlook VBA and Custom Forms 1
O What would be the recommended way to change an email address (family member)? Using Outlook 0
A Outlook 2016 Macro to Reply, ReplyAll, or Forward(but with composing new email) Outlook VBA and Custom Forms 0
L Checking Sender Email Address for trusted domain from list on intranet Outlook VBA and Custom Forms 4
J How do you disable address search box when typing @ in body of email? Using Outlook 0
S HTML Code Embedded in String Within Open Outlook Email Preventing Replace(Application.ActiveInspector.CurrentItem.HTMLBody From Working Outlook VBA and Custom Forms 4
Victor.Ayala Automated way to check the option "Show this folder as an email Address Book" Outlook VBA and Custom Forms 2
D Wrong email address in Outlook 2003 "From" tab in new outgoing emails Using Outlook 4
D Forwarding email based on the attachment file type and specific text found on the attachment file name Outlook VBA and Custom Forms 1
F Forward incoming email with 4 embedded images in the body without original sender Outlook VBA and Custom Forms 22
W Macro to Filter Based on Latest Email Outlook VBA and Custom Forms 6
D Create advanced search (email) via VBA with LONG QUERY (>1024 char) Outlook VBA and Custom Forms 2
C Outlook 2007 Removing then adding account restores junk email processing Using Outlook 0
G Place jpg in body of email Outlook VBA and Custom Forms 1
F Wishlist Outlook suddenly began synchronizing deleted items every time I delete a single email. Using Outlook 2
N Save Selected Email Message as .msg File Outlook VBA and Custom Forms 12
HarvMan Toggle between calendar and email in Outlook 365 Using Outlook 12
F Email being marked as Spam by Gmail and not being visible in Outlook Using Outlook 5

Similar threads

Top