View
115
Download
0
Category
Preview:
Citation preview
Debugging 2VBA-Schulung 2003-03-27/28
Debugging von Makros
Debugging 3VBA-Schulung 2003-03-27/28
KompilierenMenüpunkt „Debuggen – Kompilieren von Project“:
Kompiliert alle Makros sie laufen etwas schnellerWeist uns auf Syntax-Fehler hin:
Debugging 4VBA-Schulung 2003-03-27/28
HaltepunkteHaltepunkte können gesetzt werden, um die Ausführung vom Code an einer bestimmten Stelle zu unterbrechenHaltepunkt wird über F9 oder Mausklick links neben der Zeile gesetztNach dem Anhalten können die Inhalte aller Variablen betrachtet werden
Debugging 5VBA-Schulung 2003-03-27/28
EinzelschrittAus einem Haltepunkt kann die Ausführung schrittweise (Einzelschritt) fortgeführt werdenMit Einzelschritt kann auch jede Prozedur gestartet werden„Prozedurschritt“ oder „Prozedur abschliessen“ für schnelleres Bewegen benutzenFestlegen der nächsten Anweisung (Strg+F9) ist auch möglich
Debugging 6VBA-Schulung 2003-03-27/28
ÜberwachungÜberwachungsausdrücke:
zeigen den Wert des überwachten Ausdrucks an oderunterbrechen die Ausführung, wenn der Ausdruck einen bestimmten Wert annimmt / True wird
Debugging 7VBA-Schulung 2003-03-27/28
ÜberwachungBeispiel:
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 8VBA-Schulung 2003-03-27/28
LokalfensterDas Lokalfenster zeigt die Inhalte aller lokalen Variablen (auch Objektvariablen) anAufruf über Menü „Ansicht – Lokalfenster“
Debugging 9VBA-Schulung 2003-03-27/28
AufrufelisteDie Aufrufeliste zeigt die Reihenfolge der Prozeduraufrufe, die zu der aktuellen Zeile geführt haben
Aufruf über Strg+Lam besten in Verbindung mit einem Haltepunkt oder nach einem Fehler
Debugging 10VBA-Schulung 2003-03-27/28
DirektfensterIm Direktfenster (Strg+G) können Prozeduren direkt gestartet werdenWährend einer Unterbrechung der Ausführung (Haltepunkt / Fehler) können hier Ausdrücke ausgewertet werdenDie Makros können über Debug.Print Statusinformationen ausgeben
Debugging 11VBA-Schulung 2003-03-27/28
ShortcutsNützliche Tastenkombinationen
Strg+Leertaste: Begriff vervollständigenStrg+G: DirektfensterStrg+L: AufrufelisteStrg+Shift+F2: Zur letzten Cursorposition zurückkehrenF5: Prozedur starten / fortfahrenF8: Prozedur im Einzelschritt starten / fortfahrenShift+F8: ProzedurschrittStrg+Shift+F8: Prozedur abschliessenStrg+Shift+F8: Nächste Anweisung festlegenStrg+Pause: Ausführung unterbrechenShift+F2: Definition anzeigenF9: Haltepunkt setzen / entfernen
Debugging 12VBA-Schulung 2003-03-27/28
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 – KonstantePrivate Const csErrSource = "CDatabaseSupport"
Kein „Pre“-Prefix bei lokalen Variablen
Debugging 13VBA-Schulung 2003-03-27/28
NamensgebungPrefixe für Standard-Typen
s – Stringl – Longb – Booleandbl – Doubleobj – Objekt allgemein (z.B. Klassenobjekt)
Debugging 14VBA-Schulung 2003-03-27/28
NamensgebungPrefixe 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 15VBA-Schulung 2003-03-27/28
NamensgebungPrefixe 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 16VBA-Schulung 2003-03-27/28
NamensgebungPrefixe für OrgData-Objekte
ctrl – FormControl lc – ListColumn tl – TableLayout ws – Workspace wsg – WorkspaceGroup wscol – WorkspaceColumn wsfra – WorkspaceFrame
Debugging 17VBA-Schulung 2003-03-27/28
Namensgebung
Welche Namensgebung man benutzt, ist egal, Hauptsache man benutzt sie.
Debugging 18VBA-Schulung 2003-03-27/28
Haben Sie
Fragen?
Debugging 19VBA-Schulung 2003-03-27/28
Vielen Dank für Ihre Aufmerksamkeit
Recommended