VBcoders Guest



Don't have an account yet? Register
 


Forgot Password?



Add Error log to your projects no changing code

by Jason Monroe (4 Submissions)
Category: VB function enhancement
Compatability: Visual Basic 3.0
Difficulty: Intermediate
Date Added: Wed 3rd February 2021
Rating: (9 Votes)

This is a drop in replacement for the VB Message box routine (MsgBox). It will log to a file all messages that you display to the user that are marked with vbCritical. This routine also expands the standard VB Messagebox by giving you the developer the ability to log to file, even if you don't set vbCritical.

Inputs
Same as MsgBox
Assumes
Insert this code into a module, will not work properly if placed in a class
Code Returns
Same as MsgBox

Rate Add Error log to your projects no changing code

Public Function MsgBox(Prompt As String, Optional Buttons As VbMsgBoxStyle = vbOKOnly, Optional Title As String, Optional HelpFile As String, Optional Context As Single, Optional LogToFile As Boolean = False) As VbMsgBoxResult
 Dim strErrorLog As String
 Dim iFileHandle As Integer
 Dim strErrorTitle As String
 Dim iResult As Integer
 
 iFileHandle = FreeFile
 strErrorTitle = App.EXEName & " : " & Title
 strErrorLog = App.Path & "\" & App.EXEName & ".log"
 ' Force error loging on all critical messages
 If (Buttons And vbCritical) Then
 LogToFile = True
 End If
 ' if the user has choosen to log, or it's a critical message, log it
 If LogToFile = True Then
 Open strErrorLog For Append As #iFileHandle
 Print #iFileHandle, Now, Prompt
 Close #iFileHandle
 End If
 ' Call the real message box routine
 iResult = VBA.MsgBox(Prompt, Buttons, strErrorTitle, HelpFile, Context)
 MsgBox = iResult
End Function

Download this snippet    Add to My Saved Code

Add Error log to your projects no changing code Comments

No comments have been posted about Add Error log to your projects no changing code. Why not be the first to post a comment about Add Error log to your projects no changing code.

Post your comment

Subject:
Message:
0/1000 characters