Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1172to1176
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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?

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige