vba - Vba代码中的SenderEmailAddress在excel中给出路径

标签 vba excel email outlook

我设计了一个 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/

相关文章:

Excel VBA 动态命名范围 : How to check if range is blank

ms-access - 我需要将 Access 表(一个大表)中的部分数据动态(快速)导入到 Excel 中

php - IE 导出 Excel 的问题

php - 添加密件抄送后,Laravel 邮件会发送两次电子邮件

excel - 检测(在 VBA 中)包含 Excel 实例的窗口何时变为事件状态

vba - 编号取决于更改另一列中的单元格值 - vba 代码

python - 从 Python 到 Excel 的 Excel 公式格式

arrays - 循环将值复制到数组中

php - 电子邮件跟踪 - Apple Mail

email - 如何在 Cypress 中发送带有测试报告的电子邮件