Похоже, что одним из решений является создание оператора If
внутри раздела With OutlookMail
.
Затем мы должны установить переменную для нашего ручного выбора вложения, где мы используем Application.GetOpenFilename
метод в соответствии с предложением ниже.
https://www.mrexcel.com/board/threads/add-attachment-in-vba-macro-by-dialog-box.956227/
Раздел Outlook должен выглядеть следующим образом:
With OutlookMail
.BodyFormat = olFormatHTML
.Display
.HTMLBody = "The job is done"
.To = "xxx@xx.co.uk"
.CC = "yyy@yyy.co.uk; zzzz@zzz.co.uk;"
.Subject = Filename & "- Audit"
If Not Filename Like "?_V?" Then
MsgBox ("The attachment wasn't found. Add it manually.")
Dim Attac As Boolean ' variable for our attachment adding manually
Attac = Application.GetOpenFilename
.Attachments.Add Attac
Else
.Attachments.Add PDFfile
End If
End With
В результате наш диалоговое окно добавления вложения открывается с нашим путем к ActiveWorkbook.
Если мы хотим иметь указанное расширение файла, например .pdf , то мы должны уточнить его с помощью метода Application.GetOpenFilename
, подобного этому :
Attac = Application.GetOpenFilename("PDF Files, *.pdf")