使用VBA获取邮箱名称

时间:2019-03-13 16:38:54

标签: vba outlook-vba

我有多个邮箱,我需要一个msgbox,它将弹出用于回复特定电子邮件的活动邮箱的名称。

Private Sub oItem_Reply(ByVal Response As Object, Cancel As Boolean)
    Dim mapifolder As Outlook.NameSpace
    Set mapifolder = Application.GetNamespace("MAPI")
    Dim myNamespace As Outlook.Name
    MsgBox oItem.Parent
    MsgBox mapifolder.Store.Name
End Sub

我在第二个msgbox上收到错误91

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

Namespace类不提供Store属性:

Dim mapifolder As Outlook.NameSpace
Set mapifolder = Application.GetNamespace("MAPI")
MsgBox mapifolder.Store.Name

mapiFolderNamespace class而非Folder的实例。

要实现此目标,您需要使用以下调用顺序:

MsgBox oItem.Parent.Store.Name

请注意,对于根文件夹,Parent属性将返回Namespace类的实例。因此,在代码的最终版本中添加一个检查。