使用电子邮件 Outlook 中的链接触发 VBA 代码
Posted
技术标签:
【中文标题】使用电子邮件 Outlook 中的链接触发 VBA 代码【英文标题】:Use link from email outlook to fire VBA code 【发布时间】:2022-01-19 14:45:50 【问题描述】:是否有机会使以下场景起作用
-
用户在 Outlook 中收到包含链接/文本/对象的电子邮件
单击对象会在用户计算机上运行简单的 VBA 代码(即替换 txt 中的字符串)文件
谢谢。
【问题讨论】:
【参考方案1】:不,这是不可能的。这是恶意软件的潜在路径。
相反,您可以在 Outlook VBA 宏中处理 Application 类的 NewMailEx
事件,其中可以检测此类邮件(带有特定文本或链接)并相应地运行您的业务逻辑。
NewMailEx
事件会为 Microsoft Outlook 处理的每个收到的项目触发一次。该项目可以是几种不同的项目类型之一,例如MailItem
、MeetingItem
或SharingItem
。 NewMailEx
事件在新邮件到达收件箱时以及在客户端规则处理发生之前触发。您可以使用EntryIDCollection
数组中返回的Entry ID调用NameSpace.GetItemFromID方法并处理该项目。
【讨论】:
谢谢。让我更清楚一点,我基本上需要电子邮件中的批准/拒绝按钮。您建议的方法不提供用户做出决定的可能性,电子邮件接收事件听起来也不可行,因为用户应该能够在他想要获得批准时自行选择。在您看来,是否还有其他方法、插件甚至是完全开箱即用的不同灵魂? 您可以向用户显示一个对话框以确认任何操作。以上是关于使用电子邮件 Outlook 中的链接触发 VBA 代码的主要内容,如果未能解决你的问题,请参考以下文章