прикрепите несколько файлов для отправки по электронной почте или весь каталог (VBA)
Я пытаюсь отправить электронное письмо с несколькими вложениями через VBA и outlook.
код, который у меня есть, работает, если я укажу путь к одному вложению/файлу, и я также могу добавить несколько вложений, если я точно знаю, что они такое, но я не буду двигаться вперед - будут разные подсчеты, а также имена файлов.
Я хотел бы отправить с помощью подстановочного знака, как показано в моем примере ниже, но я думаю, что мне нужно будет использовать какой-то цикл, указывающий на каталог.
Я посмотрел вокруг тонны для решения, но я еще не видел ничего, что работает с моей конкретной ситуацией.
Private Sub Command22_Click()
Dim mess_body As String
Dim appOutLook As Outlook.Application
Dim MailOutLook As Outlook.MailItem
Set appOutLook = CreateObject("Outlook.Application")
Set MailOutLook = appOutLook.CreateItem(olMailItem)
Set appOutLook = CreateObject("Outlook.Application")
Set MailOutLook = appOutLook.CreateItem(olMailItem)
With MailOutLook
.BodyFormat = olFormatRichText
.To = "test@test.org"
.Subject = "test"
.HTMLBody = "test"
.Attachments.Add ("H:testAdj*.pdf")
'.DeleteAfterSubmit = True
.Send
End With
MsgBox "Reports have been sent", vbOKOnly
End Sub
1 ответов
это то, что вы пытаетесь? (НЕПРОВЕРЕНО)
Private Sub Command22_Click()
Dim mess_body As String, StrFile As String, StrPath As String
Dim appOutLook As Outlook.Application
Dim MailOutLook As Outlook.MailItem
Set appOutLook = CreateObject("Outlook.Application")
Set MailOutLook = appOutLook.CreateItem(olMailItem)
'~~> Change path here
StrPath = "H:\test\"
With MailOutLook
.BodyFormat = olFormatRichText
.To = "test@test.org"
.Subject = "test"
.HTMLBody = "test"
'~~> *.* for all files
StrFile = Dir(StrPath & "*.*")
Do While Len(StrFile) > 0
.Attachments.Add StrPath & StrFile
StrFile = Dir
Loop
'.DeleteAfterSubmit = True
.Send
End With
MsgBox "Reports have been sent", vbOKOnly
End Sub