473,395 Members | 1,653 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,395 software developers and data experts.

Outlook Late Binding

I've written a function to check emails in Outlook using Access which
works. But I need to be able to have it work for different version of
Outlook. I'm using Outlook 2002 and I need to also work for Outlook
2000. I don't want the user to go and find the reference file in
Access. So I need this code to work for all versions. I think I need
to use late binding but don't know anything about it.

Here is the function:

Dim OlkApp As Outlook.Application
Dim OlkMapi As Outlook.NameSpace
Dim OlkFolder As Outlook.MAPIFolder
Dim olkSubFolder As Outlook.MAPIFolder
Dim OlkReadFolder As Outlook.MAPIFolder
Dim OlkItems As Outlook.Items
Dim OlkMail As Object
Dim cnn As New ADODB.Connection

On Error GoTo GetEmailData_Error

DoCmd.Hourglass True

Set cnn = CurrentProject.Connection

' Delete existing records in the ImportData table
strSQL = "DELETE * FROM ImportData"
cnn.Execute strSQL

' Create Outlook connection
Set OlkApp = CreateObject("Outlook.Application")
Set OlkMapi = OlkApp.GetNamespace("MAPI")

' Define folders
Set OlkFolder = OlkMapi.GetDefaultFolder(olFolderInbox)
Set OlkReadFolder = OlkFolder.Folders("FEEDBACK")
Set OlkMoveFolder = OlkFolder.Folders("Feedback ARCHIVE")

' Find the Feedback Outlook folder (subfolder of Inbox folder)
For Each olkSubFolder In OlkFolder.Folders

If olkSubFolder.Name = "FEEDBACK" Then
Set OlkItems = olkSubFolder.Items

If OlkItems.Count > 0 Then
Call AddEmailData(olkSubFolder)
End If

Exit For
End If
Next

MsgBox "Finished Importing Outlook Email Data.", vbInformation,
"Outlook Data Import"

GetEmailData_Exit:
Set OlkApp = Nothing
Set OlkMapi = Nothing
Set OlkFolder = Nothing
Set OlkReadFolder = Nothing
Set OlkMoveFolder = Nothing
Set OlkItems = Nothing
DoCmd.Hourglass False
Exit Function

GetEmailData_Error:
MsgBox Err.Description, vbInformation, "Get Email Data"
Resume GetEmailData_Exit

So I would like to know how to change this to code to late binding.
Any help would be appreciated.

Apr 2 '06 #1
2 4107

"Ecohouse" <vi*******@netzero.com> wrote in message
news:11**********************@j33g2000cwa.googlegr oups.com...
I've written a function to check emails in Outlook using Access which
works. But I need to be able to have it work for different version of
Outlook. I'm using Outlook 2002 and I need to also work for Outlook
2000. I don't want the user to go and find the reference file in
Access. So I need this code to work for all versions. I think I need
to use late binding but don't know anything about it.

Here is the function:

Dim OlkApp As Outlook.Application
For late binding, replace the above line with this:
Dim OlkApp as Object
(and do the same thing for the following lines:)
Dim OlkMapi As Outlook.NameSpace
Dim OlkFolder As Outlook.MAPIFolder
Dim olkSubFolder As Outlook.MAPIFolder
Dim OlkReadFolder As Outlook.MAPIFolder
Dim OlkItems As Outlook.Items


Apr 3 '06 #2
Also, you will have to replace the named constants
(olFolderInbox etc) with true values.

[Ctrl][G} to go to the immediate window, then
?olFolderInbox
to see the value.

do this before you remove the Outlook reference.

Fortunately, these named values have not changed.

(david)
"Ecohouse" <vi*******@netzero.com> wrote in message
news:11**********************@j33g2000cwa.googlegr oups.com...
I've written a function to check emails in Outlook using Access which
works. But I need to be able to have it work for different version of
Outlook. I'm using Outlook 2002 and I need to also work for Outlook
2000. I don't want the user to go and find the reference file in
Access. So I need this code to work for all versions. I think I need
to use late binding but don't know anything about it.

Here is the function:

Dim OlkApp As Outlook.Application
Dim OlkMapi As Outlook.NameSpace
Dim OlkFolder As Outlook.MAPIFolder
Dim olkSubFolder As Outlook.MAPIFolder
Dim OlkReadFolder As Outlook.MAPIFolder
Dim OlkItems As Outlook.Items
Dim OlkMail As Object
Dim cnn As New ADODB.Connection

On Error GoTo GetEmailData_Error

DoCmd.Hourglass True

Set cnn = CurrentProject.Connection

' Delete existing records in the ImportData table
strSQL = "DELETE * FROM ImportData"
cnn.Execute strSQL

' Create Outlook connection
Set OlkApp = CreateObject("Outlook.Application")
Set OlkMapi = OlkApp.GetNamespace("MAPI")

' Define folders
Set OlkFolder = OlkMapi.GetDefaultFolder(olFolderInbox)
Set OlkReadFolder = OlkFolder.Folders("FEEDBACK")
Set OlkMoveFolder = OlkFolder.Folders("Feedback ARCHIVE")

' Find the Feedback Outlook folder (subfolder of Inbox folder)
For Each olkSubFolder In OlkFolder.Folders

If olkSubFolder.Name = "FEEDBACK" Then
Set OlkItems = olkSubFolder.Items

If OlkItems.Count > 0 Then
Call AddEmailData(olkSubFolder)
End If

Exit For
End If
Next

MsgBox "Finished Importing Outlook Email Data.", vbInformation,
"Outlook Data Import"

GetEmailData_Exit:
Set OlkApp = Nothing
Set OlkMapi = Nothing
Set OlkFolder = Nothing
Set OlkReadFolder = Nothing
Set OlkMoveFolder = Nothing
Set OlkItems = Nothing
DoCmd.Hourglass False
Exit Function

GetEmailData_Error:
MsgBox Err.Description, vbInformation, "Get Email Data"
Resume GetEmailData_Exit

So I would like to know how to change this to code to late binding.
Any help would be appreciated.

Apr 3 '06 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: Kurt | last post by:
Hi We are developing an off-the-shelf software suite for a certain business sector. Most of the program is simply a GUI on top of some .mdb files. Its a .net application written in c# One...
2
by: Blake | last post by:
I'm using late binding to create Outlook email from an Access2K database. I am not referencing the Microsoft Office 9.0 Object Library nor the Microsoft Outlook 9.0 Object Library. Instead, I have...
1
by: Blake | last post by:
I'm using late binding to create Outlook email from an Access2K database. I am not referencing the Microsoft Office 9.0 Object Library nor the Microsoft Outlook 9.0 Object Library. Instead, I have...
9
by: John Smith | last post by:
Hey, I'm having a difficult time finding some good examples of late binding Outlook in C#. Anyone know of any good sites out there? I've googled and MSDN'ed, but have come up a bit empty. ...
4
by: Max | last post by:
Hi, I would like to have a button and a combo box with options to select various versions of Microsoft Outlook: 2002, 2003. The user selects the email client and clicks the button. The only...
3
by: wizzbangca | last post by:
Hi everyone. Having problems with a utility I am writing for work. The previous IT Director thoughtfully allowed 3 (2000, xp, 2003) versions of outlook to be installed rather than 1. Now I need...
5
by: Arno R | last post by:
Hi all, I need to get at specific (shared) agenda-data from MS outlook 2003. I need every day to get the scheduled 'appointments' for some rooms to Access. In Access I will show the...
1
by: =?Utf-8?B?U3RldmUgUmFuZGFsbA==?= | last post by:
Hi, Does anyone have any code samples (or links to) for sending an email message via outlook using late binding? Many thanks.
4
by: musicloverlch | last post by:
Hi all, I have a database being used by 30 people and is split between the backend and frontend. The database has the ability to send e-mails through Outlook and I have even put Redemption on...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.