有没有办法在vb或vba中对齐消息框中的文本?

问题描述 投票:0回答:6

有没有办法在VB或VBA中将文本对齐到

msgbox
的中心? VB 有没有类似的功能?

vba vb6 vbscript messagebox
6个回答
8
投票

不。

MsgBox()
函数只是 Windows
MessageBox()
函数的包装器,因此对图标之外的对话框没有风格控制。

如果您想进一步更改它,您将需要创建自己的窗口并显示它。

在 Windows Vista+ 上,您可以使用 TaskDialogs 来进行更多控制。


4
投票

不,但是你可以通过使用空格来作弊。

msgbox("                your message")

2
投票

当您构建字符串时,您可以在它们的开头和结尾处填充空格以达到目标长度。如果您使用的是 Excel,工作表函数 rept 对此非常方便。

function pad_n_center(byval mystring as string, lenmax as integer) as string
    dim pad_by as integer
    dim pad as string
    pad_by = (lenmax - len(mystring))/2
    'some more code to finesse that?
    pad = worksheetfunction.rept(" ",pad_by)
    pad_n_center = pad & mystring & pad
end function

如前所述,如果消息框看起来仍然不太好,您可以使用文本框形状对象(或其他对象)来获得所需的效果。


1
投票

VBA

一些注释: http://access.mvps.org/access/bugs/bugs0035.htmhttp://www.tek-tips.com/viewthread.cfm?qid=435428 但是,事实并非如此这么难建立自己的消息框,它解决了你所有的问题。


1
投票

您可能可以在消息框中使用 vbtab 和 controlchars.CrLf 的组合。


0
投票

将 Application.Input 框“居中”很容易:当该框打开时,用鼠标将框移动到您希望它将来打开的位置,它就可以做到这一点。它会在您上次放置的位置打开。至少如此;它对我有什么作用。

© www.soinside.com 2019 - 2024. All rights reserved.