2014-12-23 4 views
2

Outlook 2007을 통해 전송되는 모든 메시지에 자동 VBA 스크립트를 추가했습니다. 코드가 훌륭하게 작동합니다. 내가 가진 문제는 컴퓨터를 다시 시작하고 Outlook 2007을로드 할 때마다 VBA 편집기를 연 후에야 코드가 적용됩니다. 편집기를 닫더라도이 방법으로 제대로 실행됩니다. Outlook 2007을 열 때마다 VBA 편집기를 열고 닫아야합니까? Outlook 2007을 열고로드 할 때 VBA 스크립트가 강제로 작동하도록하는 방법이 있습니까?Outlook 2007에서 실행되지 않는 VBA 스크립트

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 to send the message?" 
     res = MsgBox(strMsg, vbYesNo + vbDefaultButton1, _ 
       "Could Not Resolve Bcc") 
     If res = vbNo Then 
      Cancel = True 
     End If 
    End If 

    Set objRecip = Nothing 
End Sub 
+0

문제가 당신의 보안 센터 설정에서 오는 것 같다. Outlook의 매크로 보안 설정을 조정해야합니다. 가장 낮은 레벨로 설정하십시오. –

답변

0

먼저, Outlook에서 매크로 보안 설정을 확인 : 여기

내가 사용하고 스크립트입니다. " 경고 없음 및 모든 매크로 사용 안 함"(가장 높은 보안 설정)으로 설정된 경우 VBA IDE에서 직접 코드를 실행할 수는 있지만 매크로가 비활성화되어 있기 때문에 코드가 Outlook 탐색기에서 실행되지 않습니다. VBA IDE가 열려 있지 않습니다.

보안 설정이 매크로 실행을 허용 할만큼 충분히 낮 으면 다음 단계는 오류가 발생한 위치를 확인하고 시도하는 것입니다. " 오류 재개시 다음"줄을 제거하고 (시작하는 것은 끔찍한 일입니다.) " On Error GoTo ErrTrap"으로 바꿉니다.

그런 다음 ErrTrap()이라는 서브 루틴을 작성하여 오류를 처리하십시오. Err.Number Err.Description 개체를 사용하여 의미있는 오류 메시지를 MessageBox에 제공 할 수 있습니다. 여기에 메시지를 게시하면 문제 해결을 도와 드릴 수 있습니다.

건배,

- = 카메론