PC Review
Forums
Newsgroups
Microsoft Outlook
Microsoft Outlook VBA Programming
How to program to export certain Outlook 2000 messages to Access 2000 database
Forums
Newsgroups
Microsoft Outlook
Microsoft Outlook VBA Programming
How to program to export certain Outlook 2000 messages to Access 2000 database
![]() |
How to program to export certain Outlook 2000 messages to Access 2000 database |
|
|
Thread Tools | Rate Thread |
|
|
#1 |
|
Guest
Posts: n/a
|
I would like to export certain messages from my inbox to an Access
2000 database. I do it manually by Files | Export, etc. Please explain how to use the Outlook object model to do this via VB or point me to an example on the web. Thank you in advance. |
|
|
|
#2 |
|
Guest
Posts: n/a
|
This sample loops through the inbox: Dim obj as Object Dim Mail as Outlook.MailItem Dim Folder as Outlook.Mapifolder Dim Items as outlook.Items Set Folder=Applcation.GetNamespace("Mapi").GetDefaultFolder(olFolderInbox) Set Item=Folder.Items For Each obj in Items If TypeOf obj is Outlook.MailItem then Set Mail=obj ' go on here Endif Next You can view the MailItem's properties with the Object Browser (F2). Switch from <All Libraries> to Outlook and select the MailItem in the left pane. This sample connects to an Access database with ADO. You need to add a reference to 'Microsoft ActiveX Data Objects x' to your project: Dim cn As ADODB.Connection Dim rs As ADODB.Recordset Set cn = New ADODB.Connection With cn .Provider = "Microsoft.Jet.OLEDB.4.0" .ConnectionString = "D:\test.mdb" .CursorLocation = adUseClient .Mode = adModeShareDenyNone .Open End With Set rs = New ADODB.Recordset With rs .CursorLocation = adUseClient .CursorType = adOpenStatic .LockType = adLockOptimistic Set .ActiveConnection = cn .Open ("select [field list] from [table]") End With rs.Close cn.Close You can use the connection's Execute command with the Insert or Update statement to add/update single records (then the recordset isn't necessary), or work with the recordset. -- Viele Gruesse / Best regards Michael Bauer - MVP Outlook Keep your Outlook categories organized! http://www.shareit.com/product.html...54&languageid=1 (German: http://www.VBOffice.net/product.html?pub=6) Am Tue, 19 Dec 2006 14:16:58 -0500 schrieb Oscar: > I would like to export certain messages from my inbox to an Access > 2000 database. > > I do it manually by Files | Export, etc. > > Please explain how to use the Outlook object model to do this via VB > or point me to an example on the web. > > Thank you in advance. |
|
|
|
#3 |
|
Guest
Posts: n/a
|
I know how to do all of this already. The only place you address my
question is the line where you say "go on here" I found a web site that says that the Outlook object model does not allow access to the save as database file type command. That website suggest automation of outlook with use of the SENDKEYS command. Thanks. On Wed, 20 Dec 2006 06:08:40 +0100, "Michael Bauer [MVP - Outlook]" <mb@mvps.org> wrote: > > >This sample loops through the inbox: > >Dim obj as Object >Dim Mail as Outlook.MailItem >Dim Folder as Outlook.Mapifolder >Dim Items as outlook.Items > >Set Folder=Applcation.GetNamespace("Mapi").GetDefaultFolder(olFolderInbox) >Set Item=Folder.Items >For Each obj in Items > If TypeOf obj is Outlook.MailItem then > Set Mail=obj > ' go on here > Endif >Next > >You can view the MailItem's properties with the Object Browser (F2). Switch >from <All Libraries> to Outlook and select the MailItem in the left pane. > >This sample connects to an Access database with ADO. You need to add a >reference to 'Microsoft ActiveX Data Objects x' to your project: > > Dim cn As ADODB.Connection > Dim rs As ADODB.Recordset > > Set cn = New ADODB.Connection > With cn > .Provider = "Microsoft.Jet.OLEDB.4.0" > .ConnectionString = "D:\test.mdb" > .CursorLocation = adUseClient > .Mode = adModeShareDenyNone > .Open > End With > > Set rs = New ADODB.Recordset > With rs > .CursorLocation = adUseClient > .CursorType = adOpenStatic > .LockType = adLockOptimistic > Set .ActiveConnection = cn > .Open ("select [field list] from [table]") > End With > > rs.Close > cn.Close > >You can use the connection's Execute command with the Insert or Update >statement to add/update single records (then the recordset isn't necessary), >or work with the recordset. |
|
|
|
#4 |
|
Guest
Posts: n/a
|
How helpful a precise question is, isn't it? I wouldn't recommend the use of SendKeys. It sends the commands to the window with the focus, and you never know which one that is. At the 'go on here' line simply read the item's properties and write them into the recordset, or build a Insert statement. -- Viele Gruesse / Best regards Michael Bauer - MVP Outlook Keep your Outlook categories organized! http://www.shareit.com/product.html...54&languageid=1 (German: http://www.VBOffice.net/product.html?pub=6) Am Wed, 20 Dec 2006 17:56:19 -0500 schrieb Oscar: > I know how to do all of this already. The only place you address my > question is the line where you say "go on here" > > I found a web site that says that the Outlook object model does not > allow access to the save as database file type command. > > That website suggest automation of outlook with use of the SENDKEYS > command. > > Thanks. > > On Wed, 20 Dec 2006 06:08:40 +0100, "Michael Bauer [MVP - Outlook]" > <mb@mvps.org> wrote: > >> >> >>This sample loops through the inbox: >> >>Dim obj as Object >>Dim Mail as Outlook.MailItem >>Dim Folder as Outlook.Mapifolder >>Dim Items as outlook.Items >> >>Set Folder=Applcation.GetNamespace("Mapi").GetDefaultFolder(olFolderInbox) >>Set Item=Folder.Items >>For Each obj in Items >> If TypeOf obj is Outlook.MailItem then >> Set Mail=obj >> ' go on here >> Endif >>Next >> >>You can view the MailItem's properties with the Object Browser (F2). Switch >>from <All Libraries> to Outlook and select the MailItem in the left pane. >> >>This sample connects to an Access database with ADO. You need to add a >>reference to 'Microsoft ActiveX Data Objects x' to your project: >> >> Dim cn As ADODB.Connection >> Dim rs As ADODB.Recordset >> >> Set cn = New ADODB.Connection >> With cn >> .Provider = "Microsoft.Jet.OLEDB.4.0" >> .ConnectionString = "D:\test.mdb" >> .CursorLocation = adUseClient >> .Mode = adModeShareDenyNone >> .Open >> End With >> >> Set rs = New ADODB.Recordset >> With rs >> .CursorLocation = adUseClient >> .CursorType = adOpenStatic >> .LockType = adLockOptimistic >> Set .ActiveConnection = cn >> .Open ("select [field list] from [table]") >> End With >> >> rs.Close >> cn.Close >> >>You can use the connection's Execute command with the Insert or Update >>statement to add/update single records (then the recordset isn't necessary), >>or work with the recordset. |
|
|
|
#5 |
|
Guest
Posts: n/a
|
On Thu, 21 Dec 2006 06:09:10 +0100, "Michael Bauer [MVP - Outlook]"
<mb@mvps.org> wrote: >How helpful a precise question is, isn't it? Maybe you didn't catch it but the precise question asked was: "I do it manually by Files | Export, etc." "Please explain how to use the Outlook object model to do this via VB or point me to an example on the web." |
|
![]() |
|
| Thread Tools | |
| Rate This Thread | |
|
|

Main Page 

