StrokeScribe's Debug Console
A standalone debug console.
Features
- Allows to send debug messages to an independent window.
- Displays non-distracting messages to an end-user (or developer) without needing to open the Evaluate window in VBA or show message boxes in LibreOffice.
- A direct replacement for the Debug.Print when porting VBA code to OpenOffice/LibreOffice.
- A better replacement for the annoying message boxes.
- Parallel logging to a text file.
- Allows to programmatically control the console window, change the font height, color, effects (bold, italic).
- Allows to show messages as system tray notification balloons and hide the console window to save the screen space.

Compatibility
The console is tested to be compatible with the following systems:
- Windows XP (x86, x64)
- Windows Vista (x86, x64)
- Windows 7 (x86, x64)
- Windows 8/8.1 (x86, x64)
- Windows 10/11 x64
- Windows Server 2003/2008 (x86, x64)
- All versions of Microsoft Office starting from Office XP (excluding the online version of Office 365)
- All versions of LibreOffice
Usage Examples
OpenOffice/LibreOffice
How to use the Console instead of Debug.Print when porting VBA code into LibreOffice:
Option Compatible
' Declarations for 64-bit OpenOffice/LibreOffice
Private Declare Function ConsolePrint Lib "ssdbgcons64.dll" (ByVal text As String) As Long
Private Declare Function ConsoleColor Lib "ssdbgcons64.dll" (ByVal r As Byte, ByVal g As Byte, ByVal b As Byte) As Long
Private Declare Function ConsoleClear Lib "ssdbgcons64.dll" () As Long
Private Declare Function ConsoleFont Lib "ssdbgcons64.dll" (ByVal font As String) As Long
Private Declare Function ConsoleFontSize Lib "ssdbgcons64.dll" (ByVal size As Long) As Long
Private Declare Function ConsoleShow Lib "ssdbgcons64.dll" (ByVal show As Long) As Long
Private Sub test()
ConsoleClear
ConsoleShow 1 ' -2 = hide, -1 = minimize, 0 = restore, 1 = topmost, 3 = not-topmost
ConsoleFont "System"
ConsoleFontSize 10
ConsoleColor 255, 200, 0
ConsolePrint "Text" & vbCrLf Use this line instead of Debug.Print in LibreOffice Basic
End Sub
Microsoft Office
How to use the Console in Microsoft Office:
' Declarations for 64-bit Microsoft Office 2007-2016 and standalone version of MS 365
Private Declare PtrSafe Function ConsolePrint Lib "ssdbgcons64.dll" (ByVal text As String) As Long
Private Declare PtrSafe Function ConsoleColor Lib "ssdbgcons64.dll" (ByVal r As Byte, ByVal g As Byte, ByVal b As Byte) As Long
Private Declare PtrSafe Function ConsoleClear Lib "ssdbgcons64.dll" () As Long
Private Declare PtrSafe Function ConsoleFont Lib "ssdbgcons64.dll" (ByVal font As String) As Long
Private Declare PtrSafe Function ConsoleFontSize Lib "ssdbgcons64.dll" (ByVal size As Long) As Long
Private Declare PtrSafe Function ConsoleShow Lib "ssdbgcons64.dll" (ByVal show As Long) As Long
Private Sub test()
ConsoleClear
ConsoleFontSize (20)
ConsoleColor 255, 0, 0
ConsolePrint "Text" & vbCrLf
End Sub
Version history
0.9.0.3 beta 2024-05-11 | - Limited access beta. - New: messages can be shown as system notification balloons while the main window stays hidden. It can save the screen space. |
0.9.0.2 beta 2024-05-06 | - Limited access beta. - New: parallel log recording into a file. |
0.9.0.1 beta 2024-04-28 | - Limited access beta. - New: window state control functions. |
0.9 beta 2024-04-12 | - Limited access beta. |