| Trappable Error |
|
|
| Sub Form_Load() |
| Dim lstItem As ListItem, i As Long |
| For i = 1 To 65535 |
| DoEvents |
| 'Nur, wenn die Fehlermeldung nicht mit "Anwendungs" beginnt |
| If Left(Error(i), 10) <> "Anwendungs" Then |
| 'Fehlernummer-Beschreibung |
| Set lstItem = lstErrors.ListItems.Add(, "Num" & i, i) |
| lstItem.SubItems(1) = Error(i) |
| End If |
| If Err > 0 Then Exit For |
| Next |
| 'Weiteres Modul, um Errorcodes im Direktfenster anzuzeigen |
| Call FillFehlerCodes |
| End Sub |
|
| Beim Klicken auf einen der Balken über den Spalten der ListBox |
| Sub lstErrors_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader) |
| lstErrors.SortKey = ColumnHeader.SubItemIndex 'Listensortierung ändern |
| lstErrors.Sorted = True |
| End Sub |
|
| 'Beim Doppelklick auf ein Item der Liste |
| Sub lstErrors_DblClick() |
| 'Angeklickten Fehler "künstlich" verursachen |
| Err.Raise Mid(lstErrors.ListItems(lstErrors.SelectedItem.Index).Key, 4) |
| End Sub |
| |
|
| Modul, um Errorcodes im Direktfenster anzuzeigen |
| Public Sub FillFehlerCodes() |
| Const csFehler As String = "Anwendungs- oder objektdefinierter Fehler" |
| Dim errr As Long |
| Dim sDescription As String |
| 'Schleife über alle möglichen Fehler |
| For errr = 1 To 65535 |
| sDescription = VBA.Error(errr) |
| If Not Len(Left(sDescription, 250)) = 0 Then |
| ' Fehlernummern überspringen, die anwendungs- oder objektdefinierte Fehler hervorrufen |
| If Not Left(sDescription, 250) = csFehler Then |
| Debug.Print errr & " " & Left(sDescription, 250) |
| End If |
| End If |
| Next |
| End Sub |
|
| Ausgabe in ListBox: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Ausgabe im Direktfenster: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| . |
|