Avatar billede jan_amdi Nybegynder
13. februar 2004 - 15:35 Der er 5 kommentarer

VBA - Fejlhåndtering i

I forbindelse med fejlhåndtering i min VBA kode, har hver procedure i projektet en fejlhåndteringsrutine, hvor jeg logger fejlen.
Har godt nok linienr i min kode, så jeg kan skrive hvilken linie fejlen skete i, men jeg logger også hvilke procedure fejlen skete i.
Det gøres ved, at jeg i starten af hver procedure, har en konstant som indeholder navnet på proceduren.
Men det giver dobbelt bogholderi og større mulighed for fejl, da jeg altid skal huske at omdøbe konstanten, hvis jeg f.eks. omdøber procedurenavnet.

Så er det ikke muligt at få navnet på den procedure man befinder sig i. Har prøvet at lede hele VBE's objectmodel igennem, men uden at finde noget der kan bruge.

Er der nogen der kender en måde, hvorpå man kan se hvilken procedure man befinder sig i?

Jeg kører Word 97.

Med venlig hilsen
Jan Amdi
Avatar billede terry Ekspert
13. februar 2004 - 16:40 #1
As far as I know this isnt possible without an add-in. I know theyexist for MS Access but I havent any knowledge of then for Word.
Avatar billede terry Ekspert
14. februar 2004 - 11:07 #2
All that these add-ins do is to create a message box routine with a string containing the procedure name.

Msgbox "Error in " & "ProcedureName" ......

and it still has to be done for each procedure
Avatar billede terry Ekspert
19. februar 2004 - 19:28 #3
how it going jan?
Avatar billede sion Nybegynder
26. februar 2004 - 21:02 #4
Hej Jan,

Det er ikke umiddelbart muligt at finde navnet på den procedure hvori fejlen er opstået, der bliver du nød til manuelt at ændre navnet i konstanten når/hvis du omdøber din procedure. Du kan dog få navnet på det dokument der har fremkaldt fejlen, hvilket kan illusteres vha. følgende kode:

Sub FejlHandlerTest()
  On Error GoTo FejlHandler
 
  Dim iFejlGenerator As Integer
  iFejlGenerator = 56 / 0 'Division med nul resulterer i en fejl
 
FejlHandler:
  MsgBox "En fejl (fejlnummer " & Err.Number & ") er opstået i " & Err.Source & vbNewLine & _
    "Fejlbeskrivelse: " & Err.Description
End Sub

Hjælp til generelle VB og VBA rutiner såsom fremstilling af procedure headers og fejlhåndtering kan du finde i VB-/VBA-addin'en MZ-Tools. Dette er et gratis og yderst brugbart værktøj når der arbejdes med VB og VBA. Måske kan dennes fremstilling af fejlhandlere hjælpe dig?
-Sion
Avatar billede sion Nybegynder
26. februar 2004 - 21:03 #5
Adressen er forresten http://www.mztools.com :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester