Application-Defined or Object-Defined error 287

  • Thread starter Thread starter Tim
  • Start date Start date
T

Tim

My codes generate the error 287 at the objMail.Send. I think the path is
wrong, but I don't know why. If I use "On Error Resume Next" above the Send,
then there is no error popping up, but there is no email sent, either. Please
show me how to fix it. Thank you.
------
strDocName = "frmStud"
DoCmd.openfORM strDocName, acPreview, , "studId='" & glbStudId & "'"
FileName = strDocName & ".pdf"
DoCmd.OutputTo acOutputForm, strDocName, acFormatPDF,
"C:\Temp\StudentForms\" & FileName, False
‘==========================================
'Using Outlook programming codes ....
'==========================================
Dim objOutlook As Object
Dim objMail As Outlook.MailItem

Set objOutlook = CreateObject("Outlook.application")
Set objMail = objOutlook.CreateItem(olMailItem)

objMail.To = "(e-mail address removed)"
objMail.Subject = "test sending a form"

objMail.Attachments.Add "C:\Temp\StudentForms\" & FileName

'On Error Resume Next
objMail.Send
Set objOutlook = Nothing
 
Hi Daniel, Thank you for the link, but for my program, it does NOT pop up the
Outlook security warning. The execution reaches "objMail.Send" code and then
jump down to these lines of codes
Err_Handler:
MsgBox Err.Description & " " & Err.Number

Where it describles the error message 287.

Do you think it's because of the configuration of the exchange
server/account? Thank you,
 
Daniel,

Did you ever fix the problem you had with Access 2007? We are having the same problem trying to send emails through Access 2007. I have found many posts where other people were able to get the same code to work. We also think it is either an Access or an Outlook setting and we cannot figure out what it is. Have you resolved your issue?

Jill
 
In case anyone is frantically searching around for this answer (like I was) I finally found what MY issue was...

Outlook has to be opened. CreateObject was not sufficient for this. When I added this to my code, it fixed the problem:

Shell "Outlook.exe" 'Opens Outlook

Bla bla code goes here

Shell "taskkill /IM Outlook.exe" 'Closes Outlook again when code is finished (optional)
 
This "error 287" is because you have to open Microsoft outlook when you run macro. remember always open outlook when you are going to run macro because excel file uses outlook to send e-mails if outlook is not opened how do you think it will send e-mails? :) enjoy.
 
I am aware that this is an old post, however ..... Take a look at my post on Stack Overflow.

http://stackoverflow.com/q/36328068/5043393

In summary, I found that the code run perfectly on "step through". The real difference between this and running the VBA sub on click event is the time scale. This lead me to finding a solution!
Hope this helps!!
 
Assuming you are using the VBA from the Outlook application you want a handle on...
Try replacing:
Set objOutlook = CreateObject("Outlook.application")

with:
Set objOutlook= ThisOutlookSession
 
Back
Top