Добрый день!
Уже вторые сутки ломаю голову, как создать макрос для отправки почты через Outlook. Перепробовал много Windows-вариантов, но ни один из них не работает на Mac. К примеру, взять написанный ниже макрос, в нем Excel не открывает Outlook, хотя работает он нормально, пробовал и с открытым, и с закрытым. Если есть другие варианты, готов рассмотреть. Мне нужно настроить отправку почты с вложением PDF файла.
Код |
---|
Function SendEmailUsingOutlook(ByVal Email$, ByVal MailText$, Optional ByVal Subject$ = "", _
Optional ByVal AttachFilename As Variant) As Boolean
On Error Resume Next: Err.Clear
Dim OA As Object: Set OA = CreateObject("Outlook.Application")
If OA Is Nothing Then MsgBox "Не удалось запустить OUTLOOK для отправки почты", vbCritical: Exit Function ' вот это сообщение постоянно выскакивает
With OA.CreateItem(0) 'создаем новое сообщение
.To = Email$: .Subject = Subject$: .Body = MailText$
If VarType(AttachFilename) = vbString Then .Attachments.Add AttachFilename
If VarType(AttachFilename) = vbObject Then ' AttachFilename as Collection
For Each file In AttachFilename: .Attachments.Add file: Next
End If
For i = 1 To 100000: DoEvents: Next ' без паузы не отправляются письма без вложений
Err.Clear: .Send
SendEmailUsingOutlook = Err = 0
End With
Set OutApp = Nothing
End Function
Sub Отправка_письма()
attach$ = "My Mac:Users: ... Hello.pdf" ' вложение (я сократил полный путь тремя точками)
res = SendEmailUsingOutlook("[URL=mailto:mail@mail.ru]mail@mail.ru[/URL]", "Текст письма 2", "Тема письма 2", attach$)
If res Then Debug.Print "Письмо 2 отправлено успешно" Else Debug.Print "Ошибка отправки"
End Sub |