![]() |
|
|
|||||||
| Registreer | FAQ | Gebruiksaanwijzing forum | Online excel cursus | Zoeken | Berichten van vandaag | Markeer forums als gelezen |
|
|
|
LinkBack | Discussietools | Weergave |
|
#1
|
||||
|
||||
|
Als je programmeert krijg je ook te maken met debuggen.
Nu heb je een programma gemaakt met VB-VBA Code Ondanks dat je denkt dat alles goed geprogrammeerd is kan het gebeuren dat er toch nog een onvoorziene fout in je code zit. Hiervoor heb ik een eenvoudige Error_classe geschreven. Ik maak graag gebruik van MZ-Tools 3.0 for VB 6.0 / VB 5.0 / VBA MZ-Tools werkt ook in office 2007/2008/2010 MZ-Tools 3.0 en kun je hier gratis downloaden http://www.mztools.com/ Dit betekent niet dat je de Error_Classe moet gebruiken met MZ-Tools. MZ_Tools is een hulpmiddel waarmee je gemakkelijk een voorgedefinieerde Error foutmelding in je Subroutine/Functie/Property kunt zetten die samenwerkt met de Error_Classe. Indien je niet MZ-Tools wilt gebruiken moet je als je de Error_Classe wilt gebruiken de code gebruiken die in de Classe staat voor "Standaard code handmatig" Indien je wel MZ-Tools wilt cq gaat gebruiken gebruik je de Code "De Procedure Header" in Mz-Tools deze is al goed ingesteld om samen te werken met MZ-Tools. Indien er een fout optreed geeft de Error Classe geeft een MsgBox met de Module Naam / Formulier, Classe, Procedure Naam en Subroutine, Functie, Property Naam Hieraan kun je zien waar het mis gaat. Mochten er nog vragen zijn hoor ik het wel
__________________
Suc6 druk op F1 en lees ! En zie wat de moeder van de meeste oplossingen is. en Worksheet.nl is de dochter Moderator www.worksheet.nl / mr.magoo@worksheet.nl Lees informatieve columns over buitenlandse reizen en wandelingen in Nederland Verrassende columns over het leven van alledag op een camping. Optimistische columns over pubers, ouders en ouderen. op www.jolandacatharina.nl Laatst gewijzigd door Mr. Magoo; 1 februari 2010 om 21:46 Reden: Nieuwe Versie |
| Sponsored Links |
|
#2
|
||||
|
||||
|
Ik heb een nieuwe versie geupload.
Dit omdat ik iets teveel remark regels had geplaatst in de Classe Voor de Vier forumleden die hem al hadden gedownload In de classe staat nu Code:
''Option Explicit '' ''Public Enum ErrorAction '' DoNothing = 0 '' ExitProcedure = 1 '' ExitProgram = 2 '' ExitForm = 3 '' ResumeAction = 4 '' ResumeNext = 5 ''End Enum Code:
Option Explicit Public Enum ErrorAction DoNothing = 0 ExitProcedure = 1 ExitProgram = 2 ExitForm = 3 ResumeAction = 4 ResumeNext = 5 End Enum
__________________
Suc6 druk op F1 en lees ! En zie wat de moeder van de meeste oplossingen is. en Worksheet.nl is de dochter Moderator www.worksheet.nl / mr.magoo@worksheet.nl Lees informatieve columns over buitenlandse reizen en wandelingen in Nederland Verrassende columns over het leven van alledag op een camping. Optimistische columns over pubers, ouders en ouderen. op www.jolandacatharina.nl |
|
#3
|
||||
|
||||
Begon al aan mezelf te twijfelen + bedankt voor de MZ-tools link!
__________________
gr. Eric |
|
#4
|
||||
|
||||
|
Ik heb de ErrorClasse demo nog vernieuwd vanwege een uitbreiding van error nummers die kunnen voorkomen in VBA cq Windows volgens Microsoft
De bedoeling van de ErrorClasse is dat je deze uitbreid met je eigen foutcoudes Het is niet alleen je eigen tekst maar ook de foutafhandeling wat er moet gebeuren als het fout gaat. het is gemakkelijk om je eigen foutmeldingen erbij te zetten. Deze moeten wel boven de 10001 zijn Je vult bij Code:
'Foutnummers > 10001 kunnen hieronder toegevoegd en gebruikt worden
Public Enum PrivateErrNumbers
OnbekendeFout = 10001
NieuweFout = 10002
'Je eigen foutnummer toevoegen.
'Dit is meer voor duidelijkheid in je VBA code
End Enum
'Nu kun je schrijven In de Classe
'Eigen Foutmeldingen vanaf 10001 heeft VBA geen error reservering meer
Case Onbekendefout 'Onbekende fout
'Initialiseer je foutwaarden
Case NieuweFout
'Initialiseer je foutwaarden
Code:
Sub ClasseEnumTest On Error Resume Next Private ErrObject As New Error_Classe 'Je zou kunnen testen Error 10001 Debug.Print ErrObject.Fout = OnbekendeFout End Sub Hierdoor is je listing duidelijker leesbaar. Het liefst had ik de Enum Public buiten de Classe maar dan moet je als je met de Classe werkt ook nog met een module werken Nu heb ik het maar geïntegreerd. Probeer maar eens te experimenteren met een enum in een module Code:
Public Enum EnumTest PublicNummer1 = 20 PublicNummer2 = 120 PublicNummer3 = 1120 PublicNummer4 = 11120 End Enum Sub Voorbeeld() Debug.Print PublicNummer1 Debug.Print PublicNummer2 End Sub Ofwel aan één van de vb constantwaarden die je kunt gebruiken het is toch veel gemakkelijker te lezen Code:
If Button = vbYesNo Then Dan If Button = 4 then MsgBox "Weergavetext", Enumkeuze een keuze maken uit de enum waarde Ik hoop dat nu het iets duidelijker is wat betreft de werking en de bedoeling van de ErrorClasse
__________________
Suc6 druk op F1 en lees ! En zie wat de moeder van de meeste oplossingen is. en Worksheet.nl is de dochter Moderator www.worksheet.nl / mr.magoo@worksheet.nl Lees informatieve columns over buitenlandse reizen en wandelingen in Nederland Verrassende columns over het leven van alledag op een camping. Optimistische columns over pubers, ouders en ouderen. op www.jolandacatharina.nl |
![]() |
| Discussietools | |
| Weergave | |
|
|
|
|||||||
| Registreer | FAQ | Gebruiksaanwijzing forum | Online excel cursus | Zoeken | Berichten van vandaag | Markeer forums als gelezen |
Soortgelijke discussies
|
||||
| Discussie | Auteur | Forum | Reacties | Laatste bericht |
| ByRef-error | Conseclusie | Afgehandelde vragen | 1 | 1 april 2011 14:37 |
| Ini File demo | Mr. Magoo | Downloads | 0 | 19 juli 2010 22:00 |
| Verbetermogelijkheden Stamboom demo | Worksheet | Afgehandelde vragen | 1 | 15 april 2010 10:14 |
| Value Error | Dion | Afgehandelde vragen | 2 | 6 juli 2009 16:46 |
| #VALUE error | waarts | Afgehandelde vragen | 6 | 30 december 2006 20:53 |