Добрый день! Поскольку ограничения политики безопасности в организации обойти не удалось, массовая рассылка из макроса VBA в excel недоступна. Я проверил код отправки письма в outlook, и он спокойно работает без всяких ограничений на адресатов. Но... но тут я столкнулся с другой проблемой, вся обработка и создание файла производится в excel в цикле, соответственно каждый цикл должен завершаться отправкой письма, но макрос по отправке письма, если он в outlook не получается вызвать... В интернете я нашел обсуждение аж от 2008 года, где предлагается такой вариант:
Код
Public Sub macroinOutlook()
Dim olookApp As Object
Set olookApp = CreateObject("Outlook.Application")
olookApp.SendMail
Set olookApp = Nothing
End Sub
Но данный недокументированный метод вызывает ошибку 438. Покопавшись еще нашел другое мнение: As far as I can tell, it's not possible to run macros that are stored in Outlook from other applications. Outlook lacks the Application.Run method that is available in Word and Excel. То есть вызвать макрос, который написан в outlook невозможно?
Public Sub macroinOutlook()
Dim olookApp As Object, mail As Object
Set olookApp = CreateObject("Outlook.Application")
Set mail = olookApp.CreateItem(0)
With mail
.To = "buchlotnik@mail.ru"
.Subject = "test"
.Body = "test"
.Send
End With
Set mail = Nothing
Set olookApp = Nothing
End Sub
Добрый день! Так не получится, поскольку это не вызов макроса сохраненного в outlook, а использование объекта mail из excel. Такой макрос и был изначально, но его блокирует настройка безопасности ms office (которые не согласовали изменить по политике безопасности организации). Я перенес отправку в сам outlook и там блокирования нет. Но нужно связать теперь два макроса расчеты и формирования файла в excel и непосредственно отправка в outlook.