【问题标题】:Get sender email address获取发件人电子邮件地址
【发布时间】:2020-06-23 08:11:53
【问题描述】:

我有以下 VBA 代码,用于在收到特定主题时自动发送电子邮件。

Private WithEvents Items As Outlook.Items

Private Sub Application_Startup()
Dim objNS As Outlook.NameSpace
Set objNS = GetNamespace("MAPI")
Set Items = objNS.GetDefaultFolder(olFolderInbox).Items
End Sub

Private Sub Items_ItemAdd(ByVal item As Object)
If item.Class = olMail Then
    If Left$(item.Subject, 29) = "Hazard Identification Report" Then
        Dim Msg As Outlook.MailItem
        Dim NewForward As Outlook.MailItem
        Dim myFolder As Outlook.MAPIFolder
        Dim olApp As Outlook.Application
        Dim olNS As Outlook.NameSpace

        Set Msg = item
        Set NewForward = Msg.Forward
        Set olApp = Outlook.Application
        Set olNS = olApp.GetNamespace("MAPI")

        strSender = ""
        strSenderName = Sender.GetExchangeUser().PrimarySmtpAddress

        If itm.SenderEmailAddress = "EX" Then
            Set objSender = itm.Sender
            If Not (objSender Is Nothing) Then
                Set objExchUser = Sender.GetExchangeUser()
                If Not (objExchUser Is Nothing) Then
                    strSender = objExchUser.PrimarySmtpAddress
                End If
            End If
        Else
            strSender = itm.SenderEmailAddress
        End If

我在以下行收到编译/对象错误:

strSenderName = Sender.GetExchangeUser().PrimarySmtpAddress

发件人姓名显示为“空”。

如何提取发件人的电子邮件地址?

【问题讨论】:

  • 为什么不msg.SenderEmailAddress
  • 谢谢!!!!它必须是简单的。 @Siddharth Rout 如果您可以将其作为答案,请将其标记为完整。
  • 你为什么在代码的上半部分有变量item,然后突然出现itm?而且根本没有Set Sender = ... 行,所以它是空的。

标签: vba email outlook


【解决方案1】:

最初在 cmets 中回答。

为什么不用 msg.SenderEmailAddress

【讨论】:

  • 也许在一个完美的世界里,但不适用于 Active Directory 发件人。
【解决方案2】:

以上接受的答案对我不起作用。相反,我正在使用它(也适用于 MeetingItems):

Function GetSenderEmail(oM As Variant)

   Dim oPA As Outlook.PropertyAccessor
   Set oPA = oM.PropertyAccessor

   GetSenderEmail = oPA.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x5D01001E")

End Function

感谢 David Lee 在this thread 中提供的解决方案。

【讨论】:

    猜你喜欢
    • 2018-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-04
    • 2016-01-21
    相关资源
    最近更新 更多