문제

규칙에 의해 실행되는 Outlook 2007 VBA 스크립트를 디버깅하려고 합니다.스크립트에 중단점을 설정했지만 적중되지 않습니다.

스크립트는 실제로 Sub 에서 ThisOutlookSession 물체.

지정된 폴더에서 규칙을 실행하면 아무 일도 일어나지 않는 것 같습니다.

내가 도대체 ​​뭘 잘못하고있는 겁니까?

업데이트:

나는 MsgBox "Processing: " & mailItem.Subject 스크립트에 추가하면 규칙을 실행할 때 제대로 나타납니다.그러나 중단점에서 스크립트를 중지할 수 없는 것 같습니다.

도움이 되었습니까?

해결책

나는 똑같은 행동을 경험했기 때문에 당신이 잘못한 것이 없을 수도 있다고 생각합니다.

그러나 VBA를 디버깅하려면 매크로에서 만든 테스트 전자 메일 항목으로 스크립트 기능을 호출하는 매크로(도구|매크로|매크로 메뉴를 통해)를 만드는 것이 좋습니다.

어쩌면 다음과 같은 것일 수도 있습니다.

Sub TestScript()
    Dim testMail As MailItem
    Set testMail = Application.CreateItem(olMailItem)
    testMail.Subject = "Test subject"
    testMail.Body = "Test body"
    Project1.ThisOutlookSession.YourScriptForDebugging testMail
End Sub

이렇게 하면 해당 매크로 대화 상자를 통해 매크로를 다시 "한 단계씩 실행"하고 필요한 모든 디버깅을 수행할 수 있습니다.어쨌든 그것은 내 문제를 해결했습니다.

다른 팁

모든 기존 항목을 사용하여 해당 항목이 필요한 코드를 테스트할 수 있습니다.

Sub passOpenItem()
    'first open an item
    codeRequiringItemParameter ActiveInspector.CurrentItem
End Sub

Sub passSeletion()
    'first select an item
    codeRequiringItemParameter ActiveExplorer.Selection(1)
End Sub

Sub codeRequiringItemParameter(itm As Object)
    Debug.Print "TypeName: " & TypeName(itm)
    Debug.Print "Class...: " & itm.Class
End Sub
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top