如何绕过空白/空MailItem.To属性的测试?

问题描述 投票:1回答:2

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

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

我的目标是创建一个函数来检查.To属性为空以避免VBA错误并显示msg框,请停止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
vba outlook outlook-vba mailitem
2个回答
1
投票

Use vbNullString if its blank

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 method (Outlook)

Recipients.ResolveAll method (Outlook)


1
投票

To属性是一个字符串。

Sub forceTo()

    Dim objMail As MailItem
    Dim strWho As String

    ' first create mail
    Set objMail = ActiveInspector.CurrentItem

    If objMail.To = "" Then
        MsgBox ("To field is blank")
    Else
        strWho = objMail.To
        MsgBox ("To field contains this text: " & strWho)
    End If

End Sub
© www.soinside.com 2019 - 2024. All rights reserved.