如何仅根据在 Outlook 中选择电子邮件的事件 运行 VBA 代码

How to run a VBA code just based on the event of selecting an email in Outlook

我想根据在 Outlook 中选择电子邮件的事件调用 VBA 代码。例如,宏可能会将所选电子邮件的接收日期复制到剪贴板。这与选择电子邮件然后通过键盘快捷键分别调用 VBA 代码相反。换句话说,每次选择电子邮件时,我都希望 VBA 代码为 运行。

有一个活动适合你 MailItem.Read Event (Outlook)
通过使用这个例子,你可以做你想做的。

您需要处理资源管理器 class 的 SelectionChange 事件,该事件在用户以编程方式或通过与用户界面交互选择不同或附加的 Microsoft Outlook 项目时触发。当用户(以编程方式或通过用户界面)单击或切换到包含项目的不同文件夹时,也会发生此事件,因为 Outlook 会自动选择该文件夹中的第一个项目。

当用户打开父对象的实例进行编辑时,将触发 Read 事件。这不是提问者想要的。而且,单独订阅每个Outlook项目会很不方便。