打开电子邮件时运行宏的规则

ZZA*_*ZZA 5 outlook vba outlook-vba

我已经为打开的邮件创建了一个宏,它可以执行某些操作.我想在我打开邮件时创建一个自动执行的规则.

我不希望这条规则一直运行,就在我打开邮件时,我不想在我收到的每封邮件上强制执行此规则.

hst*_*tay 5

在@ZZA评论之后,

试试这个代码:

Public WithEvents myItem As Outlook.MailItem

Private Sub Application_ItemLoad(ByVal Item As Object)
    If Item.Class = olMail Then
        Set myItem = Item
    End If
End Sub


Private Sub myItem_Open(Cancel As Boolean)

   'Your code
End Sub
Run Code Online (Sandbox Code Playgroud)

将代码粘贴到ThisOutlookSession中 在此处输入图片说明

编辑

为了避免'Your code触发事件,我们需要一个事件禁用器:

Public WithEvents myItem As Outlook.MailItem
Public EventsDisable as Boolean

Private Sub Application_ItemLoad(ByVal Item As Object)
    If EventsDisable = True Then Exit Sub
    If Item.Class = olMail Then
        Set myItem = Item
    End If
End Sub


Private Sub myItem_Open(Cancel As Boolean)
    EventsDisable=True
   'Your code
    EventsDisable=False
End Sub
Run Code Online (Sandbox Code Playgroud)