У меня есть собственное решение:
Я создал форму с многострочным текстовым полем, прикрепленным к размеру окна. Я создал функцию для добавления текста в текстовое поле. Моя функция выглядит так:
Friend Sub ConsoleBox(ByVal message As String)
If frmConsole.Visible = False Then
frmConsole.Show()
End If
frmConsole.txtConsole.AppendText(message & vbNewLine)
End Sub
Затем, вместо использования MsgBox («сообщение об ошибке»), я называю свою функцию следующим образом:
ConsoleBox("My error message")
До сих пор это работало и заменяет все надоедливые окна сообщений, кнопки Accept которых вы должны нажимать каждый раз, когда что-то идет не так.
Надеюсь, это поможет.