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 на самом деле сделать ваше электронное письмо.

Другие вопросы по тегам