有没有办法在VB或VBA中将文本对齐到
msgbox
的中心? VB 有没有类似的功能?
不。
MsgBox()
函数只是 Windows MessageBox()
函数的包装器,因此对图标之外的对话框没有风格控制。
如果您想进一步更改它,您将需要创建自己的窗口并显示它。
在 Windows Vista+ 上,您可以使用 TaskDialogs 来进行更多控制。
不,但是你可以通过使用空格来作弊。
msgbox(" your message")
当您构建字符串时,您可以在它们的开头和结尾处填充空格以达到目标长度。如果您使用的是 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
如前所述,如果消息框看起来仍然不太好,您可以使用文本框形状对象(或其他对象)来获得所需的效果。
VBA
一些注释: http://access.mvps.org/access/bugs/bugs0035.htm 和 http://www.tek-tips.com/viewthread.cfm?qid=435428 但是,事实并非如此这么难建立自己的消息框,它解决了你所有的问题。
您可能可以在消息框中使用 vbtab 和 controlchars.CrLf 的组合。
将 Application.Input 框“居中”很容易:当该框打开时,用鼠标将框移动到您希望它将来打开的位置,它就可以做到这一点。它会在您上次放置的位置打开。至少如此;它对我有什么作用。