<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>Message</TITLE>
<META content="MSHTML 6.00.2722.900" name=GENERATOR></HEAD>
<BODY>
<DIV><SPAN class=471505219-30042003><FONT face=Arial color=#0000ff size=2>The
MSDN.</FONT></SPAN></DIV>
<DIV><SPAN class=471505219-30042003><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=471505219-30042003><FONT face=Arial color=#0000ff
size=2>Drew</FONT></SPAN></DIV>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
<DIV class=OutlookMessageHeader dir=ltr align=left><FONT face=Tahoma
size=2>-----Original Message-----<BR><B>From:</B> Roz Clarke
[mailto:roz.clarke@donnslaw.co.uk]<BR><B>Sent:</B> Wednesday, April 30, 2003
3:15 AM<BR><B>To:</B> 'accessd@databaseadvisors.com'<BR><B>Subject:</B> RE:
[AccessD] Picking up Outlook address data etc.<BR><BR></FONT></DIV>
<DIV><SPAN class=972521208-30042003><FONT face=Arial color=#0000ff
size=2>Fantastic! So is this a straight MAPI call, & how did you know how
to do it...? </FONT></SPAN></DIV>
<DIV><SPAN class=972521208-30042003><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=972521208-30042003></SPAN> </DIV>
<DIV></DIV>
<DIV><FONT face=Tahoma size=2>-----Original Message-----<BR><B>From:</B> Drew
Wutka [mailto:DWUTKA@marlow.com] <BR><B>Sent:</B> 29 April 2003
19:41<BR><B>To:</B> 'accessd@databaseadvisors.com'<BR><B>Subject:</B> RE:
[AccessD] Picking up Outlook address data etc.<BR><BR></DIV></FONT>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
<DIV><SPAN class=830043918-29042003><FONT face=Arial color=#0000ff
size=2>Okay friend for life! <grin></FONT></SPAN></DIV>
<DIV><SPAN class=830043918-29042003><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=830043918-29042003><FONT face=Arial color=#0000ff size=2>I
put this code behind a command button on a VB form with a Listbox
(List1):</FONT></SPAN></DIV>
<DIV><SPAN class=830043918-29042003><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=830043918-29042003><FONT face=Arial color=#0000ff
size=2>Private Sub Command1_Click()<BR>On Error Resume Next<BR>Dim mps As
MAPI.Session<BR>Dim al As MAPI.AddressList<BR>Dim ae As
MAPI.AddressEntry<BR>Dim fld As Field<BR>Dim strTemp As String<BR>Set mps =
CreateObject("MAPI.Session")<BR>mps.Logon , , , , , , "Main2.marlow.com"
& vbLf & "Drew Wutka"<BR>Set al = mps.GetAddressList(0)<BR>For Each
ae In al.AddressEntries<BR> strTemp =
ae.Name<BR> For Each fld In
ae.Fields<BR> If InStr(1,
fld.Value, "@") > 0 Then strTemp = strTemp & " - " &
fld.Value<BR> Next<BR> Me.List1.AddItem
strTemp<BR>Next</FONT></SPAN></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><SPAN class=830043918-29042003><FONT face=Arial color=#0000ff
size=2>Set ae = Nothing<BR>Set al = Nothing<BR>mps.Logoff<BR>Set mps =
Nothing<BR>End Sub</FONT></SPAN></DIV>
<DIV><SPAN class=830043918-29042003><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=830043918-29042003><FONT face=Arial color=#0000ff size=2>Of
course, you'll need to change the mps.Logon line, because it is logging into
my email (and it only does so because it uses the credentials of my current
logged on account.</FONT></SPAN></DIV>
<DIV><SPAN class=830043918-29042003><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=830043918-29042003><FONT face=Arial color=#0000ff
size=2>But this code fills the listbox with every name (and their addressES)
in the Global Address List.</FONT></SPAN></DIV>
<DIV><SPAN class=830043918-29042003><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=830043918-29042003><FONT face=Arial color=#0000ff size=2>I
must admit, I have never done this before...never needed to, so if you have
a more specific question, I'll have to research it a
bit.</FONT></SPAN></DIV>
<DIV><SPAN class=830043918-29042003><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=830043918-29042003><FONT face=Arial color=#0000ff
size=2>Drew</FONT></SPAN></DIV>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
<DIV class=OutlookMessageHeader dir=ltr align=left><FONT face=Tahoma
size=2>-----Original Message-----<BR><B>From:</B> Roz Clarke
[mailto:roz.clarke@donnslaw.co.uk]<BR><B>Sent:</B> Tuesday, April 29, 2003
3:09 AM<BR><B>To:</B> 'accessd@databaseadvisors.com'<BR><B>Subject:</B>
RE: [AccessD] Picking up Outlook address data etc.<BR><BR></FONT></DIV>
<DIV><SPAN class=020310308-29042003><FONT face=Arial color=#0000ff
size=2>Hi Drew</FONT></SPAN></DIV>
<DIV><SPAN class=020310308-29042003><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=020310308-29042003><FONT face=Arial color=#0000ff
size=2>Thanks for the offer of help.</FONT></SPAN></DIV>
<DIV><SPAN class=020310308-29042003></SPAN> </DIV>
<DIV><SPAN class=020310308-29042003><FONT face=Arial color=#0000ff
size=2>After reading around on CDO, ADSI etc I had a quick go just using
the Outlook object library and got this far:</FONT></SPAN></DIV>
<DIV><SPAN class=020310308-29042003><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=020310308-29042003><FONT face=Arial color=#0000ff
size=2>Sub getGAL_click()</FONT></SPAN></DIV>
<DIV> </DIV>
<DIV><SPAN class=020310308-29042003><FONT face=Arial color=#0000ff
size=2>'this code based on MSKB article 313797<BR>'tweaked by
rozc</FONT></SPAN></DIV>
<DIV> </DIV>
<DIV><SPAN class=020310308-29042003><FONT face=Arial color=#0000ff
size=2>Dim oApp As Outlook.Application<BR>Set oApp = New
Outlook.Application</FONT></SPAN></DIV>
<DIV> </DIV>
<DIV><SPAN class=020310308-29042003><FONT face=Arial color=#0000ff
size=2>Dim oNS As Outlook.NameSpace<BR>Set oNS =
oApp.GetNamespace("mapi")</FONT></SPAN></DIV>
<DIV> </DIV>
<DIV><SPAN class=020310308-29042003><FONT face=Arial color=#0000ff
size=2>'oNS.Logon "rozc", "avalon", False, True<BR>'logon information does
not seem to be required if you are happy to use<BR>'the current session
profile.</FONT></SPAN></DIV>
<DIV> </DIV>
<DIV><SPAN class=020310308-29042003><FONT face=Arial color=#0000ff
size=2>Dim oDLs As Outlook.AddressLists<BR>Set oDLs =
oNS.AddressLists</FONT></SPAN></DIV>
<DIV> </DIV>
<DIV><SPAN class=020310308-29042003><FONT face=Arial color=#0000ff
size=2>Dim oGAL As Outlook.AddressList<BR>Set oGAL = oDLs.Item("Global
Address List")</FONT></SPAN></DIV>
<DIV> </DIV>
<DIV><SPAN class=020310308-29042003><FONT face=Arial color=#0000ff
size=2>Dim oEntries As Outlook.AddressEntries<BR>Set oEntries =
oGAL.AddressEntries</FONT></SPAN></DIV>
<DIV> </DIV>
<DIV><SPAN class=020310308-29042003><FONT face=Arial color=#0000ff
size=2>Dim oEntry As Outlook.AddressEntry</FONT></SPAN></DIV>
<DIV> </DIV>
<DIV><SPAN class=020310308-29042003><FONT face=Arial color=#0000ff
size=2>Dim i As Integer</FONT></SPAN></DIV>
<DIV> </DIV>
<DIV><SPAN class=020310308-29042003><FONT face=Arial color=#0000ff
size=2>For i = 1 To oEntries.Count<BR> Set oEntry =
oEntries.Item(i)<BR> Debug.Print
oEntry.Name<BR>Next</FONT></SPAN></DIV>
<DIV><SPAN class=020310308-29042003><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=020310308-29042003><FONT face=Arial color=#0000ff
size=2>'oNS.Logoff</FONT></SPAN></DIV>
<DIV> </DIV>
<DIV><SPAN class=020310308-29042003><FONT face=Arial color=#0000ff
size=2>End Sub</FONT></SPAN></DIV>
<DIV><SPAN class=020310308-29042003><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=020310308-29042003><FONT face=Arial color=#0000ff
size=2>This gets me a list of the correct names in the global address
list. Unfortunately the address attribute available here is a path to a
mailbox, not an email address - which I have't tried using for anything
but I don't imagine it would be much use.</FONT></SPAN></DIV>
<DIV><SPAN class=020310308-29042003><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=020310308-29042003><FONT face=Arial color=#0000ff
size=2>I also haven't tried using the Name as the recipient but I'm hoping
that Outlook will be able to resolve it. So, I maybe almost have something
that will work!</FONT></SPAN></DIV>
<DIV><SPAN class=020310308-29042003><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=020310308-29042003><FONT face=Arial color=#0000ff
size=2>Where I got stuck with the CDO was in referencing the GAL - all the
sample code & Exchange viewers I could find got me into every other
folder but. If you can provide me with that, I'll be your friend for life
:)</FONT></SPAN></DIV>
<DIV><SPAN class=020310308-29042003><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=020310308-29042003><FONT face=Arial color=#0000ff
size=2>TIA</FONT></SPAN></DIV>
<DIV><SPAN class=020310308-29042003><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=020310308-29042003><FONT face=Arial color=#0000ff
size=2>Roz</FONT></SPAN></DIV>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
<DIV></DIV>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left><FONT
face=Tahoma size=2>-----Original Message-----<BR><B>From:</B> Drew Wutka
[mailto:DWUTKA@marlow.com] <BR><B>Sent:</B> 29 April 2003
01:04<BR><B>To:</B> 'accessd@databaseadvisors.com'<BR><B>Subject:</B>
RE: [AccessD] Picking up Outlook address data etc.<BR><BR></FONT></DIV>
<DIV><SPAN class=178240200-29042003><FONT face=Arial color=#0000ff
size=2>Yes, CDO is free. It's behind MAPI, which is a pain.
I personally find CDO pretty easy to use.</FONT></SPAN></DIV>
<DIV><SPAN class=178240200-29042003><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=178240200-29042003><FONT face=Arial color=#0000ff
size=2>Unless everyone wants me to clutter the list with sample code, if
you email me offline Roz, I can probably send what you are going to need
piece meal.</FONT></SPAN></DIV>
<DIV><SPAN class=178240200-29042003><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=178240200-29042003><FONT face=Arial color=#0000ff
size=2>Drew</FONT></SPAN></DIV>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
<DIV class=OutlookMessageHeader dir=ltr align=left><FONT face=Tahoma
size=2>-----Original Message-----<BR><B>From:</B> Roz Clarke
[mailto:roz.clarke@donnslaw.co.uk]<BR><B>Sent:</B> Monday, April 28,
2003 9:22 AM<BR><B>To:</B>
'accessd@databaseadvisors.com'<BR><B>Subject:</B> [AccessD] Picking up
Outlook address data etc.<BR><BR></FONT></DIV>
<P><FONT face=Arial size=2>Dear List</FONT> </P>
<P><FONT face=Arial size=2>Does anyone have the low-down on how to get
data out of Exchange? We're running Exchange 2000 with Office
XP.</FONT> </P>
<P><FONT face=Arial size=2>What I need to be able to do is
</FONT><BR><FONT face=Arial size=2>a) automatically mail certain
pre-defined staff members at certain times (singly and in groups),
and</FONT> <BR><FONT face=Arial size=2>b) allow people to send ad-hoc
mails from the database, selecting from a list of staff members or
typing in mail addresses.</FONT></P>
<P><FONT face=Arial size=2>Currently we are entering all email
addresses manually for the ad-hoc mails and relying on a local table
of mail addresses for the automated mails - a ridiculous duplication
of effort when all this stuff is on the system already.</FONT></P>
<P><FONT face=Arial size=2>So.... All I've managed to find on MSDN are
some references to something called CDO which can be used to extend
Exchange (though it's not wonderfully clear in what ways), but I can't
see how to get it and unless it's free I can't have it
anyway.</FONT></P>
<P><FONT face=Arial size=2>Can anyone help?</FONT> </P>
<P><FONT face=Arial size=2>TIA</FONT> </P>
<P><FONT face=Arial size=2>Roz</FONT>
</P></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE></BODY></HTML>