'Description: Returns system description for all error numbers 'Declarations ---------------------------------------------------------------------------------- 'Declare Function FormatMessage Lib "kernel32" Alias "FormatMessageA" _ (ByVal dwFlags As Long, lpSource As Any, ByVal dwMessageId As Long, ByVal dwLanguageId As Long, _ ByVal lpBuffer As String, ByVal nSize As Long, Arguments As Long) As Long 'Public Const FORMAT_MESSAGE_ALLOCATE_BUFFER = &H100 'Public Const FORMAT_MESSAGE_ARGUMENT_ARRAY = &H2000 'Public Const FORMAT_MESSAGE_FROM_HMODULE = &H800 'Public Const FORMAT_MESSAGE_FROM_STRING = &H400 'Public Const FORMAT_MESSAGE_FROM_SYSTEM = &H1000 'Public Const FORMAT_MESSAGE_IGNORE_INSERTS = &H200 'Public Const FORMAT_MESSAGE_MAX_WIDTH_MASK = &HFF 'Public Const LANG_USER_DEFAULT = &H400& 'Function GetLastErrorStr(dwErrCode As Long) As String Static sMsgBuf As String * 257, dwLen As Long dwLen = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM _ Or FORMAT_MESSAGE_IGNORE_INSERTS Or FORMAT_MESSAGE_MAX_WIDTH_MASK, ByVal 0&, _ dwErrCode, LANG_USER_DEFAULT, ByVal sMsgBuf, 256&, 0&) If dwLen Then GetLastErrorStr = Left$(sMsgBuf, dwLen) 'End Function 'Place the following code in under a command button or in a menu, etc... 'Sub needs a textbox and label Dim x x = GetLastErrorStr(Val(Text1.Text)) Label1.Caption = x