Есть ли способ выровнять текст в окне сообщения в VB или VBA? - PullRequest
5 голосов
/ 03 февраля 2012

Есть ли способ выровнять текст по центру в msgbox в VB или VBA?Есть ли у VB какие-либо функции, чтобы сделать то же самое?

Ответы [ 4 ]

8 голосов
/ 03 февраля 2012

Нет.Функция MsgBox() является просто оболочкой для функции Windows MessageBox() и поэтому не имеет стилистического контроля над диалоговым окном за значком.

Если вы хотите изменить его дальшекроме этого, вам нужно будет создать собственное окно и показать, что вместо этого.

В Windows Vista + вы можете использовать TaskDialogs , которые позволяют гораздо больше контроля.

2 голосов
/ 18 января 2017

нет, но вы можете обмануть, используя пробелы.

msgbox("                your message")
1 голос
/ 03 февраля 2012

VBA

Некоторые примечания: http://access.mvps.org/access/bugs/bugs0035.htm И http://www.tek -tips.com / viewthread.cfm? Qid = 435428 Однако собрать его не так сложноваше собственное окно сообщения, которое решает все ваши проблемы.

0 голосов
/ 06 февраля 2012

Когда вы строите свои строки, вы можете дополнить их в начале и конце пробелами для достижения заданной длины. Если вы используете 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

Как упоминалось ранее, если msgbox все еще не выглядит хорошо, вы можете использовать объект формы текстового поля (или другие объекты), чтобы получить желаемый эффект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...