Home » excel » Excel VBA Error when adding attachments using CDO.Message "Object doesn't support this property or method"

Excel VBA Error when adding attachments using CDO.Message "Object doesn't support this property or method"

Posted by: admin May 14, 2020 Leave a comment


VBA/Excel Macro Programming – I’m trying to automate sending out an email with an Excel attachment. When I try and add an attachment, I get the following error: “Object doesn’t support this property or method”.

Does anyone have any ideas? It’s not filename, filepath issues, the file exists, and the path is correct.

Dim wbOld As Workbook
Dim wbNew As Workbook
Dim sheet As Variant
Dim tempFilePath As String
Dim tempFullFileName As String
Dim sErr As String
Dim vSheet As Variant

'Handle Excel screen changes and events
With Application
    .ScreenUpdating = False
    .EnableEvents = False
End With

' Set Outlook to send emails
'Set olApp = New Outlook.Application

'Set this workbook to active
Set wbOld = ActiveWorkbook

'Copy sheets from the the old active workbook

'Create copy destination workbook
Set wbNew = ActiveWorkbook

'Merge styles from the new workbook into the existing workbook.
wbNew.Colors = Workbooks(wbOld.Name).Colors

'Save the new workbook, mail it and finally delete it
tempFilePath = Environ$("temp") & "\"
tempFullFileName = tempFilePath & NewWorkbookName & ".xlsm"

'In case the workbook already exists, kill it.
'Kill tempFullFileName

With wbNew
    .SaveAs tempFullFileName, FileFormat:=xlOpenXMLWorkbookMacroEnabled
    .Close SaveChanges:=False
End With

sch = "http://schemas.microsoft.com/cdo/configuration/"
Set cdoConfig = CreateObject("CDO.Configuration")
cdoConfig.Fields.Item(sch & "sendusing") = 2
cdoConfig.Fields.Item(sch & "smtpserver") = "server.smtp.address"

Set cdoMessage = CreateObject("CDO.Message")
Set cdoMessage.Configuration = cdoConfig

cdoMessage.From = "[email protected]"
cdoMessage.To = "[email protected]"
'cdoMessage.CC = Send_CC
'cdoMessage.BCC = Send_BCC
cdoMessage.Subject = EmailSubject
cdoMessage.Textbody = EmailBody
cdoMessage.AddAttachement "C:\documents and settings\userAccount\Local%20Settings\Temp\GCCS%20Automated%20Dashboard%20-%202010.xlsm"

Set cdoMessage = Nothing
Set cdoConfig = Nothing

'Delete new
Kill tempFullFileName

'Set focus on old workbook
Set wbOld = ActiveWorkbook

Send_TO = Replace(Send_TO, ";", vbCrLf)

'Enable application events and draw
'With Application
'     .ScreenUpdating = True
'     .EnableEvents = True
'End With

'Clean up
Set wsNew = Nothing
'Set olApp = Nothing
'Set olMail = Nothing
Exit Sub
How to&Answers:

You spelled Attachment incorrectly.