VBA-Schulung 2003-03-27/28Debugging2 Debugging von Makros.

19

Transcript of VBA-Schulung 2003-03-27/28Debugging2 Debugging von Makros.

Page 1: VBA-Schulung 2003-03-27/28Debugging2 Debugging von Makros.
Page 2: VBA-Schulung 2003-03-27/28Debugging2 Debugging von Makros.

Debugging 2VBA-Schulung 2003-03-27/28

Debugging von Makros

Page 3: VBA-Schulung 2003-03-27/28Debugging2 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:

Page 4: VBA-Schulung 2003-03-27/28Debugging2 Debugging von Makros.

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

Page 5: VBA-Schulung 2003-03-27/28Debugging2 Debugging von Makros.

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

Page 6: VBA-Schulung 2003-03-27/28Debugging2 Debugging von Makros.

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

Page 7: VBA-Schulung 2003-03-27/28Debugging2 Debugging von Makros.

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

Page 8: VBA-Schulung 2003-03-27/28Debugging2 Debugging von Makros.

Debugging 8VBA-Schulung 2003-03-27/28

LokalfensterDas Lokalfenster zeigt die Inhalte aller lokalen Variablen (auch Objektvariablen) anAufruf über Menü „Ansicht – Lokalfenster“

Page 9: VBA-Schulung 2003-03-27/28Debugging2 Debugging von Makros.

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

Page 10: VBA-Schulung 2003-03-27/28Debugging2 Debugging von Makros.

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

Page 11: VBA-Schulung 2003-03-27/28Debugging2 Debugging von Makros.

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

Page 12: VBA-Schulung 2003-03-27/28Debugging2 Debugging von Makros.

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

Page 13: VBA-Schulung 2003-03-27/28Debugging2 Debugging von Makros.

Debugging 13VBA-Schulung 2003-03-27/28

NamensgebungPrefixe für Standard-Typen

s – Stringl – Longb – Booleandbl – Doubleobj – Objekt allgemein (z.B. Klassenobjekt)

Page 14: VBA-Schulung 2003-03-27/28Debugging2 Debugging von Makros.

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

Page 15: VBA-Schulung 2003-03-27/28Debugging2 Debugging von Makros.

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

Page 16: VBA-Schulung 2003-03-27/28Debugging2 Debugging von Makros.

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

Page 17: VBA-Schulung 2003-03-27/28Debugging2 Debugging von Makros.

Debugging 17VBA-Schulung 2003-03-27/28

Namensgebung

Welche Namensgebung man benutzt, ist egal, Hauptsache man benutzt sie.

Page 18: VBA-Schulung 2003-03-27/28Debugging2 Debugging von Makros.

Debugging 18VBA-Schulung 2003-03-27/28

Haben Sie

Fragen?

Page 19: VBA-Schulung 2003-03-27/28Debugging2 Debugging von Makros.

Debugging 19VBA-Schulung 2003-03-27/28

Vielen Dank für Ihre Aufmerksamkeit