2010-03-26 9 views
5

Wstawiłem kod do ItemSend i zapisałem moduł ThisOutlookSession. To działało raz i już nie działa. Został zapisany jako VBAproject.OTM i nadal istnieje po otwarciu modułu po ponownym uruchomieniu programu Outlook.BCC w wydaniu ItemSend w programie Outlook 2007 nie działa już

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 adres e-mail będzie zawsze rozwiązywany, więc nie byłoby potrzeby wywoływania metody rozstrzygania lub sprawdzania jego wartości. – JimmyPena

Odpowiedz

2

Jeśli spinanie zdarzenie ItemSend, które powinny znajdować się w module klasy z WithEvents i kodzie wywołać ją w zwykłym module. Ponadto, będziesz potrzebować Item.Save w wiadomości, aby BCC się trzymało.

3

wykorzystanie i jeśli oświadczenie o pozycję w polu Temat

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 

lub wykorzystać, jeśli chcesz zawiera słowo w temacie

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


End If 
0

miałem ten problem niedawno. Zaczęło się po tym, jak plik .pst został w jakiś sposób uszkodzony i musiałem uruchomić scanpst.exe (który musiałem przeszukać mój dysk, ponieważ komunikat o błędzie nie mówi, gdzie on jest)

Po uruchomieniu scanpst.exe i problem się pojawił, tak to naprawiłem.

Po pierwsze, miałem do czynienia z zabezpieczeniem makr. Ustawiłem to na najniższe ustawienie. Here is a link that covers how to change macro security. Przejdź do menu Narzędzia> Makro> Zabezpieczenia. Ustawiłem ją na "Brak sprawdzania bezpieczeństwa dla makr".

Następnie użyłem dokładnie ten kod:

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 

Następnie kliknąłem przycisk Zapisz, potem trochę zielony przycisk odtwarzania, aby uruchomić makro. Poprosił mnie o nazwę Macro. Użyłem bccUsername i kliknąłem create. Redaktor dodał sekcję o nazwie Modules pod numerem ThisOutLookSession.

Następnie uruchomiłem ponownie program Outlook i przetestowałem dwa razy i zadziałało.

Nie jestem do końca pewien, co zrobiłem, co sprawiło, że zaczął działać ponownie, ale nie jest to zbytnio związane z krokami, więc mam nadzieję, że to pomoże tobie i innym z tym samym problemem.

Powiązane problemy