I'm trying to automatically add a specific file to an email generated by excel. Everything works other than the actual attachment being added to the email. Does anyone see the issue? I'm using the following on excel 2013:
Code:
Private Declare Function ShellExecute Lib "shell32.dll" _
Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Sub SendEMail()
Dim Email As String, Subj As String
Dim Msg As String, URL As String
Dim r As Integer, x As Double
For r = 2 To 4 'data in rows 2-4
' Get the email address
Email = Cells(r, 2)
' Message subject
Subj = "October Monthly Merchandiser"
strLocation = "url location"
.Attachments.Add (strLocation)
' Compose the message
Msg = ""
Msg = Msg & "Good Morning" & "," & vbCrLf & vbCrLf
Msg = Msg & "I see that you have a promotion scheduled in the Monthly Merchandiser for the following vendor, month, and type:" & vbCrLf & vbCrLf
Msg = Msg & Cells(r, 3).Text & ", " & Cells(r, 4).Text & ", " & Cells(r, 6).Text & vbCrLf & vbCrLf
Msg = Msg & "Thanks," & vbCrLf & vbCrLf
Msg = Msg & "Corey" & vbCrLf & vbCrLf
' Replace spaces with %20 (hex)
Subj = Application.WorksheetFunction.Substitute(Subj, " ", "%20")
Msg = Application.WorksheetFunction.Substitute(Msg, " ", "%20")
' Replace carriage returns with %0D%0A (hex)
Msg = Application.WorksheetFunction.Substitute(Msg, vbCrLf, "%0D%0A")
' Create the URL
URL = "mailto:" & Email & "?subject=" & Subj & "&body=" & Msg
' Execute the URL (start the email client)
ShellExecute 0&, vbNullString, URL, vbNullString, vbNullString, vbNormalFocus
' Wait two seconds before sending keystrokes
Application.Wait (Now + TimeValue("0:00:02"))
Application.SendKeys "%s"
Next r
End Sub