O prompt BCC do Outlook VBA não é executado automaticamente

O prompt BCC do Outlook VBA não é executado automaticamente

Ainda sou muito novo no VBA (desculpe se esta é uma pergunta idiota), embora já esteja codificando pequenos aplicativos há alguns anos para botões como no Excel ou algo assim. Mas isso nunca ficou claro para mim; Quero implementar esse recurso de prompt BCC em um loop automático para Outlook. Quando executo a macro, ela funciona bem até reiniciar o Outlook. Por que preciso reativar essa macro sempre que inicio o Outlook? Coloquei-o em ThisOutlooksession, habilitei todas as macros (a propósito; isso precisa ser habilitado para sempre? Parece inseguro para mim), mas sem sucesso. Se alguém pudesse me ajudar, seria ótimo! Desde já, obrigado.

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

Responder1

Para executar automaticamente Initialize_handler:

Private Sub Application_startup()
    Initialize_handler
End Sub

Você pode simplificar com:

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

Você pode simplificar eliminando todo o seu código e usando isto:

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

Responder2

Use Application_Startup()em vez de Initialize_handler().

informação relacionada