Application-Defined or Object-Defined error 287

Discussion in 'Microsoft Access VBA Modules' started by Tim, Apr 9, 2010.

  1. Tim

    Tim Guest

    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 = ""
    objMail.Subject = "test sending a form"

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

    'On Error Resume Next
    objMail.Send
    Set objOutlook = Nothing
     
    Tim, Apr 9, 2010
    #1
    1. Advertisements

  2. Daniel Pineault, Apr 10, 2010
    #2
    1. Advertisements

  3. Tim

    Tim Guest

    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,
     
    Tim, Apr 12, 2010
    #3
  4. Tim

    Jill Bolig Guest

    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
     
    Jill Bolig, Sep 30, 2010
    #4
  5. Tim

    braidedmane

    Joined:
    Aug 9, 2012
    Likes Received:
    0
    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)
     
    braidedmane, Aug 9, 2012
    #5
  6. Tim

    sachinsinghsks

    Joined:
    Feb 14, 2014
    Likes Received:
    0
    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.
     
    sachinsinghsks, Feb 14, 2014
    #6
  7. Tim

    LiamH

    Joined:
    May 11, 2016
    Likes Received:
    0
    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!!
     
    LiamH, May 11, 2016
    #7
  8. Tim

    Ryan Miller

    Joined:
    Aug 23, 2016
    Likes Received:
    0
    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
     
    Ryan Miller, Aug 23, 2016
    #8
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.