Выравнивание текста в текстовом поле в VBA - странное поведение
Я пытаюсь выровнять текст в текстовом поле по правой стороне. Либо через кодTextBox.TextAlign = fmTextAlignRight
или установив свойство "напрямую".
К сожалению, он выравнивается по левому краю, как только текст (строка) становится слишком большим для полного отображения в текстовом поле. Как в этом примере, в котором есть все буквы от a до z (abcdefghijklmnropqrstuvwxyz
) и должен быть выровнен по правому краю, но это не так:
Должно получиться так:
Есть идеи, как изменить это поведение / как заставить выравнивание? Благодарность!
1 ответ
Наверное, это
TextBox
имеет собственность
Enabled
установлено значение false. Вам нужно включить его, а затем
TextAlign
недвижимость будет работать так, как вы пожелаете. Также вы можете использовать эту функцию:
Public Function SetTextBox(itm1 As MSForms.textbox, ByVal txtAlign1 As MSForms.fmTextAlign)
Dim notEnabled1 As Boolean
If Not itm1.Enabled Then itm1.Enabled = True: notEnabled1 = True
itm1.SetFocus
itm1.TextAlign = txtAlign1
itm1.SelStart = Len(itm1.Text)
If notEnabled1 Then itm1.Enabled = False
End Function