Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Probleme mit Klassen

Forumthread: Probleme mit Klassen

Probleme mit Klassen
Andreas
Liebes Forum,
ich versuche gerade ein Verfahren zur Verarbeitung von Fehlern zu entwickeln. Dafür habe ich die Klasse clsErrorHandling mit folgendem Inhalt entworfen:
Public Sub Fehler_notieren(Vorgang As String, ErrMeldung As String, ErrNummer As String)
'nächste Meldung ab Zeile:
neueZeile = ActiveWorkbook.Sheets("System").Cells(Rows.Count, 1).End(xlUp).Row + 1
'einfügen
ActiveWorkbook.Sheets("System").Cells(neueZeile, 1).Value = Now()
ActiveWorkbook.Sheets("System").Cells(neueZeile, 2).Value = Vorgang
ActiveWorkbook.Sheets("System").Cells(neueZeile, 3).Value = ErrNummer
ActiveWorkbook.Sheets("System").Cells(neueZeile, 4).Value = ErrMeldung
End Sub
Die Verwendung in z. B. einem Modul sieht folgendermaßen aus:
Private Sub Test()
Dim Fehler As clsErrorHandling
On Error GoTo Err
Exit Sub
Err:
Set Fehler = New clsErrorHandling
Fehler.Fehler_notieren("Sub Test", err.Description, err.Number)
Exit Sub
End Sub
Problem: in der Zeile Fehler.Fehler_notieren bekomm ich den Fehler: "Fehler beim Kompilieren: Erwartet: ="
Was mache ich falsch? Ich übergebe die Infos doch an eine Sub Prozedur und nicht an eine Function..?
Was haltet Ihr von meiner Fehlerverarbeitung?
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Probleme mit Klassen
26.08.2010 14:12:58
ransi
HAllo
Ungetestet:
Fehler.Fehler_notieren "Sub Test", err.Description, err.Number
ransi
AW: Probleme mit Klassen
26.08.2010 14:14:07
xr8k2
Hallo Andreas,
entfern´ mal die Klammern in der Zeile!
GRuß,
xr8k2
ErrObject an Property Get() übergeben
26.08.2010 14:53:07
ransi
HAllo
Was haltet Ihr von meiner Fehlerverarbeitung?
Du kannst auch gleich das ErrObject übergeben und das Ganze in der aufrufenden Prozedur abfrühstücken.
Das ginge dann z.B. so:
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit


Public Sub test()
Dim a As Object
Dim i As Integer

Dim neuezeile As Long
On Error GoTo errorhandler
a = "ABC"
i = 1 / 0
Exit Sub

errorhandler:
Dim s As New Klasse1
MsgBox Join(s.Fehler("test", Err), vbCrLf)
With ActiveWorkbook.Sheets("Tabelle1")
    neuezeile = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
    .Cells(neuezeile, 1).Resize(, 4) = s.Fehler("Test", Err)
End With
Err.Clear
Resume Next

End Sub


' **********************************************************************
' Modul: Klasse1 Typ: Klassenmodul
' **********************************************************************

Option Explicit

Property Get Fehler(dieSub As String, F As ErrObject)
Fehler = Array(Now, dieSub, F.Number, F.Description)
End Property


ransi
Anzeige
AW: ErrObject an Property Get() übergeben
26.08.2010 15:39:12
Andreas
Vielen Dank!
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige