我设计了一个 VBA 代码,可以使用链接 Retrieve maillist from outlook 从您的 Outlook 收件箱中检索邮件列表。
这里有一行代码
ThisWorkbook.Sheets(1).Cells(oRow, 5) = Folder.Items.Item(iRow).SenderEmailAddress
它指定获取发件人的电子邮件地址,但是当它存储在 excel 中时,它显示如下
/O=EXCHANGELABS/OU=EXCHANGE ADMINISTRATIVE GROUP (FYDIBOHF23SPDLT)/CN=RECIPIENTS/CN=WIPRO365.ONMICROSOFT.COM-52823-C1374FA5
我想将其视为 Knowledge@wipro.com 意思是用正确的电子邮件格式说。如何使用此选项?我应该在 VBA 代码或 excel 上进行更改。
我已经在许多博客中尝试过这个仍然是徒劳的。任何建议都会有所帮助。
最佳答案
首先,这是一个极端的多点符号 - Folder.Items.Item(iRow)
.这是一个非常糟糕的主意,尤其是在循环中 - 每个“。”强制 Outlook 创建并返回一个全新的 COM 对象。在进入循环之前缓存 Folder.Items,并在循环开始时仅使用 Items.Item(I) 检索 MailItem 一次。
话虽如此,您得到的是一个完全有效的 EX 类型地址。查看 MailItem.SenderEmailType
属性(property)第一。如果是“EX”,请使用 MailItem.Sender.GetExchangeUser.PrimarySmtpAddress(准备处理空值)。否则只需使用 MailItem.SenderEmailAddress
属性(property)。
关于vba - Vba代码中的SenderEmailAddress在excel中给出路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35643709/