Recipients.Add генерирует ошибку времени выполнения '287': ошибка приложения или объекта
Я проверяю, как отправить электронное письмо. Я скопировал приведенный ниже код из файлов справки:
Sub CreateHTMLMail()
'Creates a new e-mail item and modifies its properties'
Dim olApp As Outlook.Application
Dim objMail As Outlook.MailItem
Set olApp = Outlook.Application
'Create e-mail item'
Set objMail = olApp.CreateItem(olMailItem)
With objMail
.Subject = "Test Message"
.Body = "Body Text"
.Recipients.Add "xyz@abc.com"
.Recipients.ResolveAll
.Display
End With
End Sub
Я получаю сообщение об ошибке "287" во время выполнения с выделенной строкой.Recipients.Add. Что я делаю неправильно?
2 ответа
Редактировать:
Как утверждает ОП в своем комментарии к моему первоначальному ответу, изменив его код на
.Recipients.To = "abc@xyz.com"
решил свою проблему. Я оставляю свой первоначальный ответ ниже, потому что кто-то может извлечь урок из ошибки, которую я сделал, на которую указывает Dirk Vollmar;-)
Оригинальный ответ (осторожно, это неправильно!):
Попробуйте заключить в скобки параметры, передаваемые методу Add:
.Recipients.Add ("xyz@abc.com")
Попробуй это:
toString = "me@email.com;you@email.com;them@email.com"
With OutMail
.To = toString
.Subject = "Hello Friends"
.Body = "Here is the email body"
.Send
End With
Это, конечно, работает с несколькими получателями. Для одного получателя, просто сделайте это:
toString = "oneguy@gmail.com"
И не забывайте .Send
на самом деле сделать ваше электронное письмо.