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

Я хочу создать кнопку, которая сохраняет рабочий лист в формате pdf, прикрепляет к новому письму и отправляет его. я могу создать PDF, сохранить PDF на моем рабочем столе, создать и по электронной почте. но PDF никогда не прилагается. Куда я иду не так?

Dim pdfName As String
   pdfName = PONumberLabel.Caption  ' add PO number on label to a variable

     ' create pdf and save to desktop

       ChDir "C:\Users\roanderson\Desktop" ' selects directory to save
       Sheet4.ExportAsFixedFormat _
        Type:=xlTypePDF, _
        OpenAfterPublish:=True, _              
        Quality:=xlQualityStandard, _
        Filename:="C:\Users\roanderson\Desktop\" & pdfName  ' directory put t

    ' sending email for approval
    Dim xOutApp As Object
    Dim xOutMail As Object
    Dim xMailBody As String
    On Error Resume Next
    Set xOutApp = CreateObject("Outlook.Application")
    Set xOutMail = xOutApp.CreateItem(0)
    xMailBody = "Please approve PO Number" & " " & PONumber & vbNewLine & vbNewLine & _
              "Cost Centre:" & "   " & costcentre & vbNewLine & _
              "Description:" & "   " & description & vbNewLine & _
              "Currency:" & "   " & POCurrency & vbNewLine & _
              " Total:" & "   " & total
                  On Error Resume Next
    With xOutMail
        .To = "Ross.anderson@work.com"
        .CC = ""
        .BCC = ""
        .Subject = "PO Number " & PONumber & " " & "Approval"
        .Body = xMailBody
        .Display   'or use .Send
        .Attachments.Add "C:\Users\roanderson\Desktop\" & pdfName
        .VotingOptions = "Accept;Reject"




    End With
    On Error GoTo 0
    Set xOutMail = Nothing
    Set xOutApp = Nothing

Все работает, кроме прикрепления pdf к электронной почте.

1 Ответ

0 голосов
/ 04 июня 2019

Изменить заявление

.Attachments.Add "C:\Users\roanderson\Desktop\" & pdfName

К

.Attachments.Add "C:\Users\roanderson\Desktop\" & pdfName & ".pdf"

Как представляется, pdfname не имеет полного имени с расширением.

...