|
Hat eine Prozedur eine Fehlerbehandlung
Hat eine Prozedur eine Fehlerbehandlung?
Funktion
Diese Routine prüft, ob eine Prozedur eine Fehlerbehandlung hat.
Code
Public Function HatProzedurFehlerbehandlung(vbc As VBIDE.VBComponent, _
lngStartProc As Long) As Integer
' Rückgabewerte
' 0 = Keine Fehlerbehandlung
' 1 = Fehlerbehandlung nur als Kommentar
' 2 = Fehlerbehandlung vorhanden
'Variablen deklarieren
Dim lngEndZeilePr As Long
Dim lngStartZeileTr As Long
Dim lngEndZeileTr As Long
Dim lngEndSpalteTr As Long
Dim lngProcTyp As Long
Dim fErg As Boolean
With vbc.CodeModule
lngEndZeilePr = lngStartProc + .ProcCountLines(.ProcOfLine(lngStartProc, _
lngProcTyp), lngProcTyp) - 1
lngStartZeileTr = lngStartProc
fErg = .Find("On Error", lngStartZeileTr, 0, lngEndZeileTr, lngEndSpalteTr, True)
Do While fErg = True And lngEndZeileTr < lngEndZeilePr
If IstZeileKommentar(.Lines(lngEndZeileTr, 1)) = False Then
HatProzedurFehlerbehandlung = 2
Exit Function
Else
HatProzedurFehlerbehandlung = 1
End If
lngStartZeileTr = lngStartZeileTr + 1
fErg = .Find("On Error", lngStartZeileTr, 0, lngEndZeileTr, lngEndSpalteTr, True)
Loop
End With
End Function
Beschreibung
Es wird die letzte Zeile der Prozedur ermittelt. Dann wird ab der ersten Zeile der Prozedur nach dem Begriff "On Error" gesucht.
Wenn die Zeile der Fundstelle kleiner ist als die letzte Zeile der Prozedur, dann wird geprüft, ob die Fundstelle in einem Kommentar ist.
Wenn es kein Kommentar ist, wird die Routine abgebrochen. Wenn es ein Kommentar ist, wird die Suche fortgesetzt.
Verweise
Damit dieser Code funktioniert, ist folgender Verweis erforderlich:
- Microsoft Visual Basic for Applications Extensibility 5.3
|
|