Добрый день!
Уже вторые сутки ломаю голову, как создать макрос для отправки почты через Outlook. Перепробовал много Windows-вариантов, но ни один из них не работает на Mac. К примеру, взять написанный ниже макрос, в нем Excel не открывает Outlook, хотя работает он нормально, пробовал и с открытым, и с закрытым. Если есть другие варианты, готов рассмотреть. Мне нужно настроить отправку почты с вложением PDF файла.
Уже вторые сутки ломаю голову, как создать макрос для отправки почты через 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 |