当用户未填写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
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方法来根据地址簿解析收件人。
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