VBA не может добавить вложение в электронное письмо - PullRequest
0 голосов
/ 09 октября 2019

Не знаю, почему это происходит с ошибкой

"Ошибка выполнения во время выполнения"

Кажется, что происходит сбой в строке ".Attachments.Add fileName",Я читал, что вы можете столкнуться с проблемами, если передаете объект вложения, но я не думаю, что сделал это.

Public Sub DraftEmailWithAttachment(strTo As String, strSubject As String, _
                                    strBody As String, fileName As String)

    Dim oApp As Object
    Dim oEmail As Object

    Set oApp = CreateObject("Outlook.Application")
    Set oEmail = oApp.CreateItem(0)

    With oEmail
        .To = strTo
        .subject = strSubject
        .Attachments.Add fileName
        .display
        .HTMLBody = strBody & oEmail.HTMLBody
    End With

End Sub

и

Private Sub btnEmailActionItems_Click()

    Dim fileName As String
    Dim todayDate As String
    Dim strTo As String
    Dim strSubject As String
    Dim strBody As String
    Dim filter As String

    Dim oApp As Object
    Dim oEmail As Object

    Set oApp = CreateObject("Outlook.Application")
    Set oEmail = oApp.CreateItem(0)

    strTo = Nz(Me.cboUnderwriter.Column(2), "")
    strSubject = Nz(Me.txtNamedInsured.Value, "") & " - " & _
                 Nz(Me.txtSubmissionNumber.Value, "") & " - " & _
                 Nz(Me.txtQuoteNumber.Value, "")

    strBody = "Hello " & Me.cboUnderwriter.Column(3) & ", <br/><br/>"
    todayDate = Format(Date, "MM.DD.YYYY")
    fileName = "C:\Users\crewsj3\Desktop\tmp\Action Items Report -" & _
                strSubject & " " & todayDate & ".pdf\"

    filter = "submission_number=" & Nz(Me.txtSubmissionNumber.Value, "")

    'generate filtered report
    Call ExportFilteredReportToPDF("rptActionItemsForAllPolicies", fileName, filter)

    'generate email
    Call DraftEmailWithAttachment(strTo, strSubject, strBody, fileName)

End Sub

Любые идеи?

Редактировать:

Похоже, проблема заключалась в том, что косая черта была в конце. сейчас работает нормально. Спасибо за помощь.

1 Ответ

1 голос
/ 09 октября 2019

Источником вложения может быть файл (представленный полным путем к файловой системе с именем файла) или элемент Outlook, который составляет вложение. См. Attachments.Add для получения дополнительной информации.

Исходя из приведенного выше кода, вам просто нужно убедиться, что путь к файлу является допустимым и не содержит запрещенных символов. Попробуйте скопировать фактический путь к файлу во время выполнения и вставить его в любое окно проводника Windows. Следуя этому пути, вы можете быть уверены, что файл можно найти и прочитать.

...