Frage

Ich versuche, ein Outlook 2007-VBA-Skript zu debuggen, das von einer Regel ausgelöst wird.Ich habe im Skript einen Haltepunkt gesetzt, aber er wird nicht erreicht.

Das Drehbuch ist eigentlich ein Sub im ThisOutlookSession Objekt.

Wenn ich die Regel für einen bestimmten Ordner ausführe, scheint nichts zu passieren.

Was mache ich falsch?

Aktualisieren:

Ich habe ein hinzugefügt MsgBox "Processing: " & mailItem.Subject zum Skript und das erscheint ganz gut, wenn ich die Regel ausführe.Allerdings kann ich das Skript anscheinend nicht dazu bringen, an Haltepunkten anzuhalten.

War es hilfreich?

Lösung

Ich denke, dass Sie vielleicht nichts falsch machen, denn ich habe genau das gleiche Verhalten erlebt.

Um Ihr VBA zu debuggen, schlage ich jedoch vor, dass Sie ein Makro erstellen (über das Menü Extras|Makro|Makros), das Ihre Skriptfunktion mit einem Test-E-Mail-Element aufruft, das Sie im Makro erstellen.

Vielleicht so etwas:

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

Auf diese Weise können Sie über das Makro-Dialogfeld erneut in das Makro einsteigen und alle erforderlichen Debugging-Vorgänge durchführen.Mein Problem hat es jedenfalls gelöst.

Andere Tipps

Jedes vorhandene Element kann zum Testen von Code verwendet werden, der eines erfordert.

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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top