2016-11-18 5 views
0

У меня есть существующий фрагмент кода VBA в Excel, который мы использовали для создания почтовых проектов Outlook в Office 2013. Рассмотрим следующий код, который работал нормально и разрешил вручную отправлять письма в Outlook после создание:Создание черновиков Outlook Mail из Excel в Office 365

Dim objOLOutlook As New Outlook.Application 
Dim objOLMail As Outlook.MailItem 

Set objOLMail = objOLOutlook.CreateItem(olMailItem) 
objOLMail.SentOnBehalfOfName = WsMtrx.Cells(2, 2).Value 
objOLMail.To = .Cells(i, 2).Value 
objOLMail.CC = .Cells(i, 3).Value 
objOLMail.Sensitivity = WsMtrx.Cells(3, 2).Value 
objOLMail.Importance = WsMtrx.Cells(4, 2).Value 
objOLMail.Subject = dicHtmlText.Item(.Cells(i, 6).Value & "Subject") 
objOLMail.BodyFormat = olFormatPlain 
objOLMail.HTMLBody = getHtmlText(.Cells(i, 6).Value, .Cells(i, 5).Value, .Cells(i, 4).Value, .Cells(i, 10).Value, i, arrSignatur) 
objOLMail.Save 

Теперь мы перешли на Office 365 (Exchange, сервер в облаке) и в то время как тот же код по-прежнему работает, чтобы создать почту, отправка почты может привести к ошибке:

Outlook error message

Я заметил, что свойства Outlook, будут отображаться адрес электронной почты в поле «Отображаемое имя» только вместо поля «адрес электронной почты»:

Outlook properties

В то время как работает должным образом созданные вручную почты покажет адрес электронной почты в «отображаемое имя» поля, а также поле «адрес электронной почты» и показать «SMTP» в поле «адрес электронной почты типа»:

Outlook properties

I «Я уже пробовал несколько вещей, включая очистку кеша автозаполнения безрезультатно. Есть ли что-нибудь, что я могу сделать в Excel/VBA, чтобы правильно настроить адрес электронной почты? Или это скорее проблема/настройка на стороне сервера, которая должна быть исправлена?

ответ

0

Я наконец-то нашел решение сам:

Dim recipient As Outlook.recipient 

For Each recipient In objOLMail.Recipients 
    recipient.Resolve 
Next 

objOLMail.Save 

Довольно просто на самом деле. Каким-то образом, когда все настроено, мне теперь нужно явно разрешить каждого получателя, чего раньше не было.