如何使用 VBA 返回带有正常 HTML 标签的消息框?例子
dim mtext as string
mtext = "<em>hello</em> <br> world"
msgbox mtext
Run Code Online (Sandbox Code Playgroud)
你没有。该MsgBox
函数只是对 Win32 API 函数的一个薄包装,并且该函数不处理 HTML 输入。HTML 适用于 Web 浏览器,而不是桌面应用程序。
您可以获得的最接近的东西是UserForm
带有RichTextBox
控件的自定义,但这是为 Visual Basic 6.0 开发的 OCX 技术,可能无法在 x64 机器上运行,更不用说如果您需要将宏分发给用户,它肯定会崩溃他们的机器上没有 OCX。
更好的替代方法是使用您最喜欢的 .NET 语言(C#、VB.NET)创建一个 COM 可见的类库,并公开一个自定义MessageBox
函数,该函数显示一个 WinForms 对话框,该对话框具有一个System.Windows.Forms.RichTextBox
可以处理和显示 RTF 格式文本的控件。
然后,您需要向用户分发和注册您的 COM 类型库。
换句话说,它可以做到——它只取决于你有多想要它。