"More than One Message or Notes Control" error in VBA when creating Outlook mail item.

Bryce Bassett
Bryce Bassett used Ask the Experts™
on
Automating Outlook from within Excel (2016) using VBA, I'm using fairly standard code to create a new mail object, set the To, Subject, Attachments, and Body, and display.
On Error Resume Next
Set oOutlookApp = GetObject(, "Outlook.Application")
If Err <> 0 Then
    Set oOutlookApp = CreateObject("Outlook.Application")
End If

Set oItem = oOutlookApp.CreateItem(olMailItem)

With oItem
    .To = tostring
    .Subject = "Project Field Schedule: " & skeddeets.Cells(3, 2) & " " & skeddeets.Cells(3, 4)
    .Attachments.Add savedname
    .Body = "Attached please find the latest Field Schedule for the " & skeddeets.Cells(3, 2) & " " _
    & skeddeets.Cells(3, 4) & " project." & vbCrLf & vbCrLf & vbCrLf
    .Display  '.Send
End With

Open in new window

Sometimes it works fine, but about half the time I get this error message:
error
When I dismiss the error a looking at the new mail item, I can in fact see multiple redundant fields in the new email "form."  And I can't edit the body or send the email.  Where did these 'ghost' fields come from?  I've never seen these when I create a New Email from within Outlook.  How can I fix this error?  Thanks!
fields
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Top Expert 2016

Commented:
it is obvious that you are missing some code

 .Attachments.Add savedname   << not defined
Bryce BassettFreelance VBA programmer

Author

Commented:
Thanks, David.  This is only a snippet of my code.  savedname in the full path to the file I want to attach.  It is defined in a prior section and, as you can see in the second screenshot, the attachment is being attached properly.  I'm pretty sure this is not what is causing the error.

any other thoughts?
Kevin CasarezSystems Administrator

Commented:
This just started popping up for me yesterday using the .Net C++ Outlook Interop components.  I think Microsoft may have updated the latest version of Outlook in a way that broke their interoperability APIs, because I have a user still running Office 2013, and they're working fine.  What I don't know now is if there's going to be an update for the interoperability, or if Office is going to need to be updated to fix what was broken.
Should you be charging more for IT Services?

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden using our free interactive tool and use it to determine the right price for your IT services. Start calculating Now!

Bryce BassettFreelance VBA programmer

Author

Commented:
Good to know I'm not the only one, Kevin.  Please let me know if you come upon a solution.  Thanks.
Systems Administrator
Commented:
I just checked back on this issue, and without changing any code, this issue has resolved itself in my environment.  I'm guessing Microsoft has patched Office 2016. Bryce, are you still experiencing this issue?
Bryce BassettFreelance VBA programmer

Author

Commented:
Thanks for checking back, Kevin.   This project has been on hold since I last wrote, but I went in just now and tested a bunch of times and the error no longer occurs for me either.  So hopefully they have fixed it.  Thanks.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial