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().

相關內容