Kath Pelletti
KP at sdsonline.net
Mon Mar 14 21:42:41 CST 2005
Thanks Darren - code is below:
Error is 'automation error - module not found' on line:
Set nms = appOutlook.getnamespace ("MAPI")
Kath
Public Function ProcessMailMessagesInFolder()
'Adapted by K Pelletti from code from Helen Feddema 3-28-2002
Dim strerrormsg As String
On Error GoTo Err_Handler
Dim appOutlook As New Outlook.Application
Dim nms As Outlook.NameSpace
Dim fld As Outlook.MAPIFolder
Dim myfld As Outlook.MAPIFolder
'itm declared as object because a folder can contain different
'types of objects
Dim itm As Object
Dim msg As Outlook.MailItem
Dim strMessage As String
Dim dbs As DAO.Database
Dim rst As DAO.Recordset
Dim strsql As String
Dim prj As Object
Dim lngItemCount As Long
Dim IntFolderNo As Integer
Dim IntTotalNoFoldersInInbox As Integer
Dim IntNoMailItems As Integer
Dim BoolFolderFound As Boolean
BoolFolderFound = False
Set nms = appOutlook.GetNamespace("MAPI") 'CRASHES HERE
Set fld = nms.GetDefaultFolder(olFolderInbox)
IntFolderNo = 0
IntTotalNoFoldersInInbox = 0
IntNoMailItems = 0
IntTotalNoFoldersInInbox = fld.Folders.Count
' MsgBox ("Inbox has: " & fld.Folders.Count & "subfolders.")
Do Until IntFolderNo = IntTotalNoFoldersInInbox ' Inner loop.
IntFolderNo = IntFolderNo + 1
Set myfld = fld.Folders(IntFolderNo)
If myfld.Name = "Customer Inquiries" Then
BoolFolderFound = True
IntNoMailItems = myfld.Items.Count
' MsgBox ("No messages is: " & IntNoMailItems)
Exit Do
End If
Loop
If BoolFolderFound = False Then
MsgBox ("Unable to find the Customer Inquiries Folder in Outlook." & vbCrLf & vbCrLf & "(The folder should be a subfolder of inbox.)"), , "Hudsons Database"
GoTo Normal_exit
End If
If myfld Is Nothing Then
GoTo Err_Handler
End If
Debug.Print "Folder default item type: " & myfld.DefaultItemType
If myfld.DefaultItemType <> olMailItem Then
MsgBox "Folder does not contain mail messages; Exiting", , "Importing Mail"
GoTo Normal_exit
End If
lngItemCount = myfld.Items.Count
' Debug.Print "Number of messages in folder: " _
' & lngItemCount
If lngItemCount = 0 Then
MsgBox ("There are no mail messages in the Customer Inquiries folder."), , "Hudsons Database"
GoTo Normal_exit
End If
'Process items in selected folder
strsql = "DELETE * FROM tblOutlookMail"
DoCmd.SetWarnings False
DoCmd.RunSQL strsql
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("tblOutlookMail")
For Each itm In myfld.Items
If itm.Class = olMail Then
Set msg = itm
With rst
.AddNew
!Subject = msg.Subject
!Body = msg.Body
!CC = msg.CC
!BCC = msg.BCC
!Sent = msg.SentOn
!FromName = msg.SenderName
.Update
End With
End If
Next itm
rst.Close
Set prj = Application.CurrentProject
If prj.AllForms("frmOutlookMail").IsLoaded = True Then
Forms("frmOutlookMail").Requery
Else
DoCmd.OpenForm "frmOutlookMail", , , , , acDialog
End If
'Forms("frmOutlookMail").SetFocus
Normal_exit:
' MsgBox ("No of new mail messages: " & IntNoMailItems), , "Mail Import"
Exit Function
Err_Handler:
MsgBox "Error: [" & Err.Number & "] " & IIf(Len(strerrormsg) > 0, strerrormsg, Err.Description), vbCritical, "Error Message"
hCursor = CursorID
RetVal = SetCursor(hCursor)
Resume Normal_exit
End Function
----- Original Message -----
From: Darren DICK
To: 'Access Developers discussion and problem solving'
Sent: Tuesday, March 15, 2005 2:36 PM
Subject: RE: [AccessD] Urgent - missing Outllok in Refs
Hi Kath
I posted to Outlook Dev mail group re this one and they want to know
What is the error message?
How are you instantiating the objOutlook?
Can I see the code?
Many thanks
Darren
-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Kath Pelletti
Sent: Tuesday, 15 March 2005 12:42 PM
To: Access Developers discussion and problem solving
Subject: Re: [AccessD] Urgent - missing Outllok in Refs
OK - got it. I can see that they aren't installed and will now get them
couriered over from the other side of town....
Thanks - I could have wasted a lot more time on this
Kath
----- Original Message -----
From: Charlotte Foust
To: Access Developers discussion and problem solving
Sent: Tuesday, March 15, 2005 12:20 PM
Subject: RE: [AccessD] Urgent - missing Outllok in Refs
Yup, that's the missing CDO, Collaborative Data Objects. When you
install Office, you have to drill down in the Outlook part and check the
CDO item to include it in the install. Otherwise, no MAPI calls. You
can ONLY install CDO using a custom installation, not the default.
Charlotte Foust
-----Original Message-----
From: Kath Pelletti [mailto:KP at sdsonline.net]
Sent: Monday, March 14, 2005 5:11 PM
To: Access Developers discussion and problem solving
Subject: Re: [AccessD] Urgent - missing Outllok in Refs
Hi Charlotte - yes Outlook is installed. I have removed the old ref to
Outlook 9 and then gone back thru' the ref list and found Outlook 11 and
ticked that.
But now when I use the function which looks for Outlook the code falls
over with 'Automation error - the specified module cannot be found'
Line where crash happens:
Set nms = appOutlook.getnamespace ("MAPI")
NB: This code has always worked until she has had Office re-installed
(same version - 2000). I have had a look at the install and it seems
fine - what else can I check? What is the CDO?
THanks - Kath
----- Original Message -----
From: Charlotte Foust
To: Access Developers discussion and problem solving
Sent: Tuesday, March 15, 2005 11:55 AM
Subject: RE: [AccessD] Urgent - missing Outllok in Refs
Is Outlook installed on the machine? Even if it is, you can't use it
from Access unless the CDO was installed as well. It isn't by
default,
but you can do a custom reinstall and add it.
Charlotte Foust
-----Original Message-----
From: Kath Pelletti [mailto:KP at sdsonline.net]
Sent: Monday, March 14, 2005 4:49 PM
To: AccessD at databaseadvisors.com
Subject: [AccessD] Urgent - missing Outllok in Refs
Hi all - quick question as I am out with a client -
She has a new laptop so an existing app has been re-installed -
Outllok functions in Access mdb no longr working - I went into vba and
expected to find a missing reference in the References window - but
Outlook isnt there at all - what isn;t installed?
THanks
______________________________________________
Kath Pelletti
Software Design & Solutions Pty Ltd.
Ph: 9505-6714
Fax: 9505-6430
KP at SDSOnline.net
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com