PC Review Forums Newsgroups Microsoft Outlook Microsoft Outlook VBA Programming How to program to export certain Outlook 2000 messages to Access 2000 database

Reply

How to program to export certain Outlook 2000 messages to Access 2000 database

 
Thread Tools Rate Thread
Old 19-12-2006, 07:16 PM   #1
Oscar
Guest
 
Posts: n/a
Default How to program to export certain Outlook 2000 messages to Access 2000 database


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.
  Reply With Quote
Old 20-12-2006, 05:08 AM   #2
Michael Bauer [MVP - Outlook]
Guest
 
Posts: n/a
Default Re: How to program to export certain Outlook 2000 messages to Access 2000 database



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.

  Reply With Quote
Old 20-12-2006, 10:56 PM   #3
Oscar
Guest
 
Posts: n/a
Default Re: How to program to export certain Outlook 2000 messages to Access 2000 database

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.


  Reply With Quote
Old 21-12-2006, 05:09 AM   #4
Michael Bauer [MVP - Outlook]
Guest
 
Posts: n/a
Default Re: How to program to export certain Outlook 2000 messages to Access 2000 database


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.

  Reply With Quote
Old 21-12-2006, 06:43 PM   #5
Oscar
Guest
 
Posts: n/a
Default Re: How to program to export certain Outlook 2000 messages to Access 2000 database

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."
  Reply With Quote
Reply



Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off