Debugging VBA-Schulung 2003-03-27/28
Debugging von Makros Debugging
Kompilieren Menüpunkt „Debuggen – Kompilieren von Project“: Kompiliert alle Makros sie laufen etwas schneller Weist uns auf Syntax-Fehler hin: Debugging
Haltepunkte Haltepunkte können gesetzt werden, um die Ausführung vom Code an einer bestimmten Stelle zu unterbrechen Haltepunkt wird über F9 oder Mausklick links neben der Zeile gesetzt Nach dem Anhalten können die Inhalte aller Variablen betrachtet werden Debugging
Einzelschritt Aus einem Haltepunkt kann die Ausführung schrittweise (Einzelschritt) fortgeführt werden Mit Einzelschritt kann auch jede Prozedur gestartet werden „Prozedurschritt“ oder „Prozedur abschliessen“ für schnelleres Bewegen benutzen Festlegen der nächsten Anweisung (Strg+F9) ist auch möglich Debugging
Überwachung Überwachungsausdrücke: zeigen den Wert des überwachten Ausdrucks an oder unterbrechen die Ausführung, wenn der Ausdruck einen bestimmten Wert annimmt / True wird Debugging
Überwachung Beispiel: Überwachungsausdruck i > 90 hinzufügen Public Sub TestÜberwachung() Dim i As Long For i = 1 To 100 Debug.Print i Next End Sub Überwachungsausdruck i > 90 hinzufügen Debugging
Lokalfenster Das Lokalfenster zeigt die Inhalte aller lokalen Variablen (auch Objektvariablen) an Aufruf über Menü „Ansicht – Lokalfenster“ Debugging
Aufrufeliste Die Aufrufeliste zeigt die Reihenfolge der Prozeduraufrufe, die zu der aktuellen Zeile geführt haben Aufruf über Strg+L am besten in Verbindung mit einem Haltepunkt oder nach einem Fehler Debugging
Direktfenster Im Direktfenster (Strg+G) können Prozeduren direkt gestartet werden Während einer Unterbrechung der Ausführung (Haltepunkt / Fehler) können hier Ausdrücke ausgewertet werden Die Makros können über Debug.Print Statusinformationen ausgeben Debugging
Shortcuts Nützliche Tastenkombinationen Strg+Leertaste: Begriff vervollständigen Strg+G: Direktfenster Strg+L: Aufrufeliste Strg+Shift+F2: Zur letzten Cursorposition zurückkehren F5: Prozedur starten / fortfahren F8: Prozedur im Einzelschritt starten / fortfahren Shift+F8: Prozedurschritt Strg+Shift+F8: Prozedur abschliessen Strg+Shift+F8: Nächste Anweisung festlegen Strg+Pause: Ausführung unterbrechen Shift+F2: Definition anzeigen F9: Haltepunkt setzen / entfernen Debugging
Namensgebung „Pre“-Prefixe: g – Global (Public im Modulkopf) Public gTables As CTables m – Modulweit (Private / Dim im Modul- / Formular- / Klassenkopf) Private mTbl As OrgDbServer31.Table p – Parameter (an eine Prozedur übergebene Parameter) Public Sub DialNumber(psField As String) c – Konstante Private Const csErrSource = "CDatabaseSupport" Kein „Pre“-Prefix bei lokalen Variablen Debugging
Namensgebung Prefixe für Standard-Typen s – String l – Long b – Boolean dbl – Double obj – Objekt allgemein (z.B. Klassenobjekt) Debugging
Namensgebung Prefixe für Steuerelemente cbo – ComboBox chk – CheckBox cmd – CommandButton ctl – Control (allg.) dtp – DatePicker fra – Frame frm – Formular img – Image iml – ImageList itm – ListItem lbl – Label lst – ListBox lvw – ListView opt – OptionButton pg – Page txt – TextBox tvw – TreeView Debugging
Namensgebung Prefixe für OrgDbServer-Objekte doc – Document fld – Field fn – Function idx – Index odb – Database perm – Permission prop – Property prq – ParserRequest prs – Parser rel – Relation tbl – Table usr – User var – PersistVar Debugging
Namensgebung Prefixe für OrgData-Objekte ctrl – FormControl lc – ListColumn tl – TableLayout ws – Workspace wsg – WorkspaceGroup wscol – WorkspaceColumn wsfra – WorkspaceFrame Debugging
Namensgebung Welche Namensgebung man benutzt, ist egal, Hauptsache man benutzt sie. Debugging
Haben Sie Fragen? Debugging
Vielen Dank für Ihre Aufmerksamkeit Debugging