Пользовательская форма с переменным размером - PullRequest
0 голосов
/ 18 декабря 2018

В моей программе создается строка, и ее размер сильно варьируется.

Эта строка должна быть показана в отдельном окне.

К сожалению, обычная Msgbox (ограниченная 1024 знаками, я считаю) слишком мала для моих нужд.

Теперь я создал Userform для этой проблемы, но, конечно, это выглядит глупо, когда есть гигантская Userform и только два значения внутри, но в следующий раз мне понадобитсяразмер, так как в строке есть 1000 значений.

Я заметил, что обычный Msgbox меняет размер в зависимости от длины строки внутри него.

Как создать пользовательскую форму, которая меняет свой размер в зависимости от ее содержимого?Я только нашел информацию о том, как сделать его полноэкранным, что не полезно в этом случае.

Единственный реальный код, который я могу вам показать, - это что-то общее:

Sub Ausgabe1()

Dim Werte As Variant
Dim x As Integer

For i = 0 to X
Werte(i) = i
Next i

MsgBox Werte

End Sub

1 Ответ

0 голосов
/ 18 декабря 2018

Вы можете изменить значение свойства width.Как бы я это сделал - создать пользовательскую форму с текстовым полем и дать ей пользовательское свойство displaytext.

Property Let DisplayText(s as String)
Dim x as Long
x = Len(s)
If x > 0 Then 
   Me.Textbox1.Width = x*.7
   Me.Width = Me.Width * 100/x
Else
   Me.Textbox1.Width = 75      ' (edited)
   Me.Width = 100
End If

End Property

И тогда я бы назвал это так:

Load Userform1
With Userform1
   .DisplayText = "your message here"
   .Show
End With

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

...