ciao John,
you are missing to set the correct reference to Ol application, as you are applying early binding association.
Open VBa editor set put a check here ( tools--> references ) :
in case you do want to base on predefined references, get a look on this for late binding :
Dim oApp As Object ' New Outlook.Application
Dim oEmail As Object ' Outlook.Mailitem
On Error Resume Next
Set oApp = GetObject(, "Outlook.Application")
If OlApp Is Nothing Then
Set oApp = CreateObject("Outlook.Application")
End If
on Error Goto 0
Set oEmail = oApp.CreateItem(0) ' olMailitem
oEmail.to = "*** Email address is removed for privacy ***"
oEmail.Subject = "No Subject"
oEmail.Body = ""
oEmail.attachments.Add "C:\CTS\test.txt"
oEmail.Display
Set oEmail = Nothing
Set oApp = Nothing
you had better destroy alway the object created before end the sub.
One more suggestion is to be sure about the attachment file exists before trying to attach it on the email.
HTH.-
Ciao, Sandro.