首页 > 解决方案 > 如何绕过空白/空 MailItem.To 属性的测试?

问题描述

.To当用户未填写 MailItem 对象的属性时,如何绕过标准 Outlook 检查功能?

如果MailItem.To为空,我会收到一条错误消息。

我的目标是创建一个函数来检查.To属性何时为空白以避免 VBA 错误并显示一个消息框,停止 VBA 脚本直到对象 .To 被正确填充。

Dim objMail As Outlook.MailItem
Dim objWho As String

objWho = objMail.To

If objMail.To xxxEpmty.something Then
    MsgBox ("Object To is blank")
Else
    objWho = objMail.To

标签: vbaoutlookmailitem

解决方案


如果为空,请使用 vbNullString

Option Explicit
Public Sub Example()
    Dim objMail As Outlook.MailItem
    Set objMail = Application.CreateItem(0)

    Dim objWho As String
        objWho = ""

        If objWho = vbNullString Then
            MsgBox "Error objwho is blank"
            Exit Sub
        End If

    With objMail
        .To = objWho
        .Send
    End With

End Sub

您还应该使用 Resolve 或 ResolveAll 方法来根据通讯簿解析收件人。

Recipient.Resolve 方法 (Outlook)

Recipients.ResolveAll 方法 (Outlook)


推荐阅读