2010-03-26 14 views
5

He insertado el código en ItemSend y he guardado el módulo ThisOutlookSession. Funcionó una vez y ya no funciona. Se guardó como VBAproject.OTM y todavía está allí cuando abro el módulo después de reiniciar Outlook.BCC en el evento ItemSend en Outlook 2007 ya no funciona

Private Sub Application_ItemSend(ByVal Item As Object, _ 
           Cancel As Boolean) 
    Dim objRecip As Recipient 
    Dim strMsg As String 
    Dim res As Integer 
    Dim strBcc As String 
    On Error Resume Next 

    ''# #### USER OPTIONS #### 
    ''# address for Bcc -- must be SMTP address or resolvable 
    ''# to a name in the address book 
    strBcc = "[email protected]" 

    Set objRecip = Item.Recipients.Add(strBcc) 
    objRecip.Type = olBCC 
    If Not objRecip.Resolve Then 
     strMsg = "Could not resolve the Bcc recipient. " & _ 
       "Do you want still to send the message?" 
     res = MsgBox(strMsg, vbYesNo + vbDefaultButton1, _ 
       "Could Not Resolve Bcc Recipient") 
     If res = vbNo Then 
      Cancel = True 
     End If 
    End If 

    Set objRecip = Nothing 
End Sub 
+0

FWIW una dirección de correo electrónico siempre se resolverá, por lo que no habría necesidad de llamar al método Resolver o comprobar su valor. – JimmyPena

Respuesta

2

Si está conectando el evento ItemSend, que debería estar en un módulo de clase con WithEvents y su código de llamarlo en un módulo regular. Además, querrá hacer un Item.Save en el mensaje para que el BCC se adhiera.

3

uso y si la declaración en el campo Asunto del artículo

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

If Item.Subject = "exact match" Then 

    strBcc = "[email protected]" 

    Set objRecip = Item.Recipients.Add(strBcc) 
    objRecip.Type = olBCC 
    If Not objRecip.Resolve Then 
     strMsg = "Could not resolve the Bcc recipient. " & _ 
       "Do you want still to send the message?" 
     res = MsgBox(strMsg, vbYesNo + vbDefaultButton1, _ 
       "Could Not Resolve Bcc Recipient") 
     If res = vbNo Then 
      Cancel = True 
     End If 


    End If 
    Item.Save 

    Set objRecip = Nothing 


End If 

o utilizar si desea una contiene una palabra en el tema

If InStr(Item.Subject, "BCCSubject") = 0 Then 


End If 
0

que estaba teniendo este problema recientemente. Se inició después de que el archivo .pst se corrompió de alguna manera y tuve que ejecutar scanpst.exe (que tuve que buscar en mi unidad porque el mensaje de error no le dice dónde está)

Después de ejecutar scanpst.exe y el problema se presentó, así es como lo solucioné.

Primero, jugué con la seguridad macro. Lo configuro en la configuración más baja. Here is a link that covers how to change macro security. Vaya a Herramientas> Macro> Seguridad. Lo configuré como "Sin comprobación de seguridad para macros".

Luego utiliza este código exacto:

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

Dim objRecip As Recipient 
Dim strMsg As String 
Dim res As Integer 
Dim strBcc As String 
On Error Resume Next 

' #### USER OPTIONS #### 
' address for Bcc -- must be SMTP address or resolvable 
' to a name in the address book 
strBcc = "PUT YOUR EMAIL ADDRESS HERE AND LEAVE THE QUOTES" 

Set objRecip = Item.Recipients.Add(strBcc) 
objRecip.Type = olBCC 
If Not objRecip.Resolve Then 
strMsg = "Could not resolve the Bcc recipient. " & _ 
"Do you want still to send the message?" 
res = MsgBox(strMsg, vbYesNo + vbDefaultButton1, _ 
"Could Not Resolve Bcc Recipient") 
If res = vbNo Then 
Cancel = True 
End If 
End If 

Set objRecip = Nothing 

End Sub 

Luego click en el botón de guardar a continuación, pequeño botón de reproducción verde para ejecutar la macro. Me pidió un nombre Macro. Utilicé bccUsername y hice clic en crear. El editor agregó una sección llamada Modules bajo ThisOutLookSession.

Luego reinicié Outlook y probé dos veces y funcionó.

No estoy seguro de qué hice para que empiece a funcionar de nuevo, pero esto no es demasiado complicado con los pasos, así que espero que esto ayude a usted y a los demás con el mismo problema.

Cuestiones relacionadas