Outlook BCC 提示 VBA 不会自动运行

Outlook BCC 提示 VBA 不会自动运行

我对 VBA 还很陌生(如果这是一个愚蠢的问题,我很抱歉),尽管我已经为 excel 中的按钮之类的小应用程序编写了几年代码。但这一点我一直不清楚;我想在 Outlook 的自动循环中实现此 BCC 提示功能。当我运行宏时,它工作正常,直到我重新启动 Outlook。为什么每次启动 Outlook 时我都必须一遍又一遍地重新激活此宏?我将其放在 ThisOutlooksession 中,启用了所有宏(顺便说一句;这需要永远启用吗?对我来说似乎不安全)但没有成功。如果有人能帮助我,那就太好了!提前谢谢。

Public WithEvents myOlApp As Outlook.Application

Public Sub Initialize_handler()
    Set myOlApp = CreateObject("Outlook.Application")


End Sub

Private Sub myOlApp_ItemSend(ByVal Item As Object, Cancel As Boolean)


Dim prompt As String
prompt = "The BCC Field is empty!"



If Item.BCC = "" Then


    If msgbox(prompt, vbYesNo + vbQuestion, "BCC Field") = vbNo Then
    Cancel = True
    End If
 End If

End Sub

答案1

自动运行Initialize_handler

Private Sub Application_startup()
    Initialize_handler
End Sub

您可以使用以下方法简化:

Private Sub Application_startup()
    Set myolApp = CreateObject("Outlook.Application")
End Sub

您可以通过删除所有代码并改用以下代码来简化:

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)

    Dim prompt As String
    prompt = "The BCC Field is empty!"

    If Item.BCC = "" Then
        If MsgBox(prompt, vbYesNo + vbQuestion, "BCC Field") = vbNo Then
            Cancel = True
        End If
    End If

End Sub

答案2

使用Application_Startup()而不是Initialize_handler()

相关内容