'Way to output more than the maximum character limit in a msgbox?

I need to display a rather long message to the user in a msgbox. However there are instances where the msgbox seems to hit it's character limit. What's a solution to this?



Solution 1:[1]

I used objShell.Popup to achieve this

Set objShell = CreateObject("Wscript.Shell")
    objShell.Popup messagehere

Solution 2:[2]

use Wscript.Echo message instead of MsgBox message

Solution 3:[3]

With CreateObject("wscript.shell")
.Popup b
End With

where b is the variable that has all the contents that you need to display in your messagebox.

Solution 4:[4]

You may have a look at my Common-VBA-Message-Service.The message has practically no limit and the message window expands up to 85% of the screen's width and height.

Solution 5:[5]

Here is a way to work around the 1023 character limit:

Sub testWSHEnvironment()
    Dim WshShell  As IWshRuntimeLibrary.WshShell, WshSysEnv  As _
        CIWshRuntimeLibrary.WshEnvironment
    Set WshShell = CreateObject("WScript.Shell")
    Set WshSysEnv = WshShell.Environment("SYSTEM")
    theList = "Environmental Variables:"
    theCount = 0
    For Each thisItem In WshSysEnv
        If (Len(theList) + Len(CStr(theCount)) + 4 + Len(thisItem) > 1023) Then
            MsgBox theList
            theList = "More Variables:"
        End If
        theCount = theCount + 1
        theList = theList & vbCrLf & theCount & ": " & thisItem
    Next thisItem
    MsgBox theList
End Sub

This will generate as many MsgBox popups as you need to display the list of environmental variables. Note that you need to include 4 in the sum in order to take into account the vbCrLf = CarriageReturn/LineFeed and ": " for each item in the list.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 asdfasfd
Solution 2 Zohaib Hamdulay
Solution 3 Souvik
Solution 4 Walter Rauschenberger
Solution 5 JDMorganArkansas