Textbox что такое excel

Элемент управления пользовательской формы TextBox в VBA Excel. Использование текстового поля для ввода и вывода информации, основные свойства, примеры. Привязка текстового поля к ячейке.

UserForm.TextBox – это элемент управления пользовательской формы, предназначенный для ввода, редактирования и вывода информации в текстовом формате.

Текстовое поле на пользовательской форме

Текстовое поле незаменимо, когда необходимо заполнить пользовательскую форму новой информацией. Например, это может быть ФИО нового сотрудника и его паспортные данные, сумма выручки за день, новый электронный адрес и многое-многое другое.

Если с помощью текстового поля требуется вводить заранее известную информацию, элементы которой можно сгруппировать в список, то в этом случае удобнее вместо элемента управления TextBox использовать ListBox или ComboBox.

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

Иногда, если на пользовательской форме используется только одно текстовое поле и кнопка «OK» (или кнопки «OK» и «Отмена»), для ввода информации такую форму можно заменить функцией InputBox, а для вывода информации, когда не требуется редактирование отображаемого текста, – функцией MsgBox.

Свойства текстового поля

Свойство Описание
AutoSize* Автоподбор размера текстового поля. True – размер автоматически подстраивается под длину размещаемой строки. False – размер элемента управления определяется свойствами Width и Height.
AutoTab Включение автоматической табуляции – передачи фокуса следующему элементу управления при достижении максимального числа символов при значениях свойства MaxLenght > 0. True – автоматическая табуляция включена, False – выключена.
ControlSource Ссылка на источник данных для поля TextBox.
ControlTipText Текст всплывающей подсказки при наведении курсора на TextBox.
Enabled Возможность ввода, редактирования, копирования, вставки, удаления текста. True – все перечисленные опции включены, False – выключены (цвет текста в поле становится серым).
Font Шрифт, начертание и размер текста в поле.
Height Высота текстового поля.
Left Расстояние от левого края внутренней границы пользовательской формы до левого края текстового поля.
Locked Запрет ввода, редактирования, удаления текста. True – перечисленные опции запрещены (разрешено выделение и копирование текста), False – перечисленные опции разрешены.
MaxLenght Максимальная длина строки. По умолчанию – 0, что означает – ограничений нет.
Multiline Устанавливает многострочный (True) или однострочный (False) режим ввода-вывода текста.
PasswordChar Задает символ, который будет отображаться при вводе знаков пароля.
TabIndex Определяет позицию элемента управления в очереди на получение фокуса при табуляции, вызываемой свойством AutoTab или нажатием клавиш «Tab», «Enter». Отсчет начинается с 0.
Text** Текстовое содержимое (значение) поля (=Value).
TextAlign Выравнивание текста: 1 (fmTextAlignLeft) – по левому краю, 2 (fmTextAlignCenter) – по центру, 3 (fmTextAlignRight) – по правому краю.
Top Расстояние от верхнего края внутренней границы пользовательской формы до верхнего края текстового поля.
Value** Текстовое содержимое (значение) поля (=Text).
Visible Видимость текстового поля. True – TextBox отображается на пользовательской форме, False – TextBox скрыт.
Width Ширина текстового поля.
WordWrap Актуально при Multiline = True. Переход на новую строку при достижении границы текстового поля. True – переход включен, False – переход выключен.

* При использовании свойства AutoSize в значении True следует учитывать, что автоматическое изменение размеров поля при вводе текста может нарушить дизайн пользовательской формы.
** Text и Value — это два обозначения одного и того же свойства. Если в окне Properties элемента управления TextBox в поле свойства Text начать ввод строки, в поле Value ввод будет дублироваться. И наоборот, при вводе текста в поле свойства Value, дублирование произойдет в поле Text.

В таблице перечислены только основные, часто используемые свойства текстового поля. Все доступные свойства отображены в окне Properties элемента управления TextBox.

Свойства BackColor, BackStyle, BorderColor, BorderStyle отвечают за внешнее оформление текстового поля и его границ. Попробуйте выбирать доступные значения этих свойств в окне Properties, наблюдая за изменениями внешнего вида элемента управления TextBox на проекте пользовательской формы.

Привязка текстового поля к ячейке

Привязать элемент управления TextBox к ячейке на рабочем листе можно двумя способами.

1. В окне Properties элемента управления TextBox в поле свойства ControlSource необходимо указать адрес ячейки:

Окно Properties-TextBox

2. Присвоить свойству ControlSource адрес ячейки в коде VBA Excel:

UserForm1.TextBox1.ControlSource = «C5»

Теперь ячейка C5 активного листа будет привязана к элементу управления TextBox1. При открытии формы текстовое поле будет заполнено значением ячейки C5.

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

Sub Test()

UserForm1.TextBox1.ControlSource = «C5»

UserForm1.Show 0

End Sub

Измените значение ячейки C5 и нажмите клавишу «Tab» или «Enter» – изменения будут продублированы в текстовом поле на форме. Измените содержимое поля TextBox1, нажмите клавишу «Tab» или «Enter», передав фокус другому элементу управления, – изменения продублируются в ячейке C5.

Чтобы привязать текстовое поле к ячейке неактивного листа, необходимо в адресе указать имя листа по ярлыку с разделителем «!»:

UserForm1.TextBox1.ControlSource = «Лист2!A3»

Если имя листа содержит пробел, заключите его в одинарные кавычки:

UserForm1.TextBox1.ControlSource = «‘Мой лист’!B6»

Точно также адрес ячейки конкретного листа можно указать непосредственно в окне Properties элемента управления TextBox в поле свойства ControlSource (без парных кавычек).

* Отображение пользовательской формы в немодальном окне позволяет редактировать ячейки на рабочем листе Excel, не закрывая форму.

Примеры использования TextBox

Пример 1
Обмен содержимым между текстовым полем, переменной и ячейкой на рабочем листе:

‘Присвоение текстовому полю значения

‘ячейки A2 и переменной a1

UserForm1.TextBox1.Text = Range(«A2»)

UserForm1.TextBox1.Text = a1

‘Присвоение ячейке B3 и переменной a2

‘значения текстового поля

Cells(3, 2) = UserForm1.TextBox1.Text

a2 = UserForm1.TextBox1.Value

‘Свойства Text и Value элемента

‘управления TextBox равнозначны

Пример 2
Программное создание элемента управления TextBox, размещение его по центру пользовательской формы, добавление всплывающей подсказки и текста по умолчанию.

Предположим, что текстовое поле предназначено для ввода даты, поэтому добавляем соответствующую подсказку, а в качестве текста по умолчанию – текущую дату.

Создаем новую пользовательскую форму с именем UserForm2. Если у вас другое имя формы, это не имеет значения, так как обращаться к ней будем с помощью ключевого слова «Me». Открываем модуль созданной формы и вставляем в него следующий код VBA Excel:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Private Sub UserForm_Initialize()

Dim myTextBox As Control

‘Создаем новый TextBox и присваиваем его переменной

Set myTextBox = Me.Controls.Add(«Forms.TextBox.1»)

‘Задаем размеры и заголовок пользовательской формы

With Me

  .Height = 100

  .Width = 220

  .Caption = «Форма №2»

End With

‘Присваиваем значения свойствам текстового поля

With myTextBox

  .Width = 100

  .Height = 20

  ‘Left и Top рассчитаны для Excel 2016*

  .Left = 60 5

  .Top = 40 15

  ‘Добавляем всплывающую подсказку

  .ControlTipText = «Введите дату подписания договора»

  ‘Вставляем в поле текущую дату

  .Text = Format(Now, «DD.MM.YYYY»)

  ‘Выравниваем текст по центру

  .TextAlign = 2

End With

End Sub

В результате выполнения кода откроется следующая форма с всплывающей подсказкой при наведении на TextBox курсора:

TextBox с всплывающей подсказкой

* Значения свойств Left и Top рассчитаны для Excel 2016. Вычитаемые числа зависят от толщины границ пользовательской формы, которые в других версиях Excel могут отличаться.

  • Что такое VBA TextBox в Excel?

Что такое VBA TextBox в Excel?

VBA TextBox является одним из многих элементов управления из элементов управления UserForm в Excel. VBA TextBox может пригодиться, если вы хотите, чтобы пользователь вводил данные, такие как его имя, возраст, адрес, зарплата и т. Д. Используя элемент управления TextBox, вы можете позволить пользователям вводить такую ​​информацию и сэкономить много времени, а также опечатки., VBA TextBox может состоять из статических или динамических данных.

UserForm сам по себе является очень полезным инструментом, который имеет различные параметры управления, такие как TextBox, MsgBox, InputBox и т. Д., Которые предоставляют более практичный способ получения данных от пользователя, чтобы вы могли функционально обрабатывать эти данные и находить из них некоторые полезные идеи.,

В этой статье вы получите практический опыт работы с Excel VBA TextBox.

Примеры Excel VBA TextBox

Ниже приведены различные примеры VBA TextBox в Excel.

Вы можете скачать этот шаблон Excel для VBA TextBox здесь — Шаблон Excel для VBA TextBox

Пример № 1 — Как вставить TextBox в VBA?

Ниже приведены шаги для вставки TextBox в Excel VBA.

Шаг 1: Откройте файл Excel и нажмите Alt + F11, чтобы перейти на панель VBA.

Шаг 2: Как мы уже обсуждали, TextBox — это опция, доступная в пользовательской форме. Поэтому нам нужно вставить UserForm в VBE. Перейдите в меню «Вставка» > нажмите «Пользовательская форма» .

Шаг 3: Как только вы вставляете пользовательскую форму в VBA, вы можете видеть параметр Toolbox, связанный с ним, и иметь различные параметры, связанные с UserForm.

Шаг 4: В этом наборе инструментов выберите TextBox .

Шаг 5: Перетащите этот TextBox на форму пользователя.

Шаг 6: Нажмите F4, чтобы увидеть свойства пользовательской формы (в качестве альтернативы вы можете сделать это, щелкнув правой кнопкой мыши на вставленной пользовательской форме). Эти свойства позволяют вам внести некоторые необходимые изменения, такие как изменение имени пользовательской формы, чтобы иметь возможность легко получить к нему доступ.

Некоторые другие основные изменения, которые вы можете сделать в панели свойств UserForm, такие как изменение шрифта, изменение размера и т. Д.

Шаг 7: Введите текст « Добро пожаловать в VBA TextBox! В TextBox под UserForm.

Вот как вы можете создать VBA TextBox.

Пример №2 — Установка значения в VBA TextBox

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

Шаг 1: Вставьте новую пользовательскую форму в VBE. Перейдите в меню « Вставка» > нажмите «Пользовательская форма».

Шаг 2: Из UserForm Tools выберите TextBox и перетащите его в UserForm.

Шаг 3: Вставьте CommandButton под UserForm так же, как вы добавили TextBox.

Шаг 4: Измените заголовок командной кнопки на « Отправить » в свойствах. Вы можете перейти к свойствам командной кнопки, щелкнув правой кнопкой мыши Command Button> Click Properties .

Шаг 5: Дважды щелкните по кнопке отправки или щелкните правой кнопкой мыши и выберите « Просмотреть код» .

Шаг 6: В коде вставьте строку нового кода в подпроцедуру, как показано ниже.

Код:

 Private Sub CommandButton1_Click () TextBox1.Value = "Меня зовут Лалит!" End Sub 

Этот выделенный код позволяет назначать значение справа, заключенное в двойные кавычки, в TextBox. Вы также можете использовать свойство TextBox.Text вместо TextBox.Values, чтобы установить значение для TextBox.

Шаг 7: Нажмите F5 или кнопку Run под VBE, чтобы запустить этот код, вы увидите пользовательскую форму с пустым TextBox. Как только вы нажмете кнопку отправки, там появится текст, назначенный для TextBox.

Пример # 3 — Ограничить ввод TextBox, чтобы принимать только числовые значения

Выполните следующие шаги:

Шаг 1: Вставьте новую пользовательскую форму в VBA и добавьте в нее TextBox.

Шаг 2: Измените имя TextBox в разделе «Свойства» на « My_Age ».

Шаг 3: Дважды щелкните TextBox или щелкните его правой кнопкой мыши и выберите View Code .

Вы сможете увидеть начальную подпроцедуру, как показано ниже:

Код:

 Private Sub My_Age_Change () End Sub 

Шаг 4: Теперь попробуйте добавить условие If, которое начинается с If Not.

Код:

 Private Sub My_Age_Change () Если не End Sub 

Шаг 5: Попросите компилятор проверить, является ли значение TextBox «My_Age» числовым или не использует IsNumeric Keyword перед условием «Если не».

Код:

 Private Sub My_Age_Change () Если не IsNumeric (My_Age.Value) End Sub 

Шаг 6: Когда каждое условие IF запрашивает, добавьте ключевое слово Then для него.

Код:

 Private Sub My_Age_Change () Если не IsNumeric (My_Age.Value), то End Sub 

В этом фрагменте кода вы просите компилятор проверить, является ли значение, введенное пользователем в TextBox, числовым или нет. Если это не цифра, то что делать? Следуйте следующему шагу.

Шаг 7: С помощью MsgBox добавьте комментарий типа «Извините! Разрешены только цифры. », Если значение в TextBox не является числовым.

Код:

 Private Sub My_Age_Change () Если не IsNumeric (My_Age.Value), то MsgBox "Извините! Разрешены только номера." End Sub 

Шаг 8: Теперь закройте этот оператор IF, используя ключевое слово End IF.

Код:

 Private Sub My_Age_Change () Если не IsNumeric (My_Age.Value), то MsgBox "Извините! Разрешены только номера." End If End Sub 

Шаг 9: Теперь запустите этот код, нажав кнопку F5 на клавиатуре или кнопку Run из VBE, и просмотрите результат. Вы получите TextBox, как показано ниже:

Теперь я пытаюсь ввести в него целочисленное значение и посмотреть, позволяет ли оно мне вводить то же самое или нет.

Бинго, это позволяет мне хранить целочисленное значение.

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

Давайте проверим, позволяет ли это текстовое поле хранить некоторые отрицательные значения под ним или нет. Я наберу некоторое отрицательное число и проверю.

Что ж! Что ж!! Ну, это, я стреляю в сообщение о том, что разрешены только цифры Это произошло потому, что этот код, изначально написанный с условием IF, не имеет обходного пути, что делать, если число не положительное. Более того, возраст не может быть отрицательным. Правильно? Поэтому я получаю предупреждающее сообщение, как вы можете видеть выше. Однако, если вы нажмете OK в окне сообщения и попытаетесь ввести номер, это позволит вам сделать это. Но я не буду рекомендовать нарушать правила там.

Наконец, давайте попробуем некоторую текстовую строку в поле и посмотрим, позволяет ли она хранить то же самое в текстовом поле или нет.

Как и ожидалось, как только я ввел первую строковую букву, система помешала мне сделать это, бросив сообщение. Это связано с тем, что мы упомянули в нашем коде условие о том, что если значение не является числовым, отправьте пользователю сообщение о том, что допускаются только числовые значения.

То, что нужно запомнить

  • VBA TextBox — это специальная опция в пользовательской форме. Который предназначен для ввода данных от самого пользователя.
  • Есть два способа установить значения для TextBox: с помощью TextBox.Text и с помощью TextBox.Value.
  • Иногда необходимо ограничить ввод данных пользователем, чтобы мы получали правильный тип данных.

Рекомендуемые статьи

Это руководство по VBA TextBox. Здесь мы обсудим, как создать TextBox в Excel VBA вместе с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи —

  1. Как использовать функцию VBA IsNumeric?
  2. Создание поля со списком в Excel
  3. Вставьте флажок в Excel
  4. Функция VBA UCASE в Excel
  5. Как закрыть UserForm в VBA?

Содержание

  1. VBA TextBox — Примеры для создания TextBox в Excel VBA (шаблон Excel)
  2. Что такое VBA TextBox в Excel?
  3. Примеры Excel VBA TextBox
  4. Пример № 1 — Как вставить TextBox в VBA?
  5. Пример №2 — Установка значения в VBA TextBox
  6. Пример # 3 — Ограничить ввод TextBox, чтобы принимать только числовые значения
  7. То, что нужно запомнить
  8. Рекомендуемые статьи
  9. Объект TextBox (Outlook Forms Script)
  10. Замечания
  11. Советы по использованию текстовых полей
  12. Методы
  13. Свойства
  14. Поддержка и обратная связь

VBA TextBox — Примеры для создания TextBox в Excel VBA (шаблон Excel)

Что такое VBA TextBox в Excel?

VBA TextBox является одним из многих элементов управления из элементов управления UserForm в Excel. VBA TextBox может пригодиться, если вы хотите, чтобы пользователь вводил данные, такие как его имя, возраст, адрес, зарплата и т. Д. Используя элемент управления TextBox, вы можете позволить пользователям вводить такую ​​информацию и сэкономить много времени, а также опечатки., VBA TextBox может состоять из статических или динамических данных.

UserForm сам по себе является очень полезным инструментом, который имеет различные параметры управления, такие как TextBox, MsgBox, InputBox и т. Д., Которые предоставляют более практичный способ получения данных от пользователя, чтобы вы могли функционально обрабатывать эти данные и находить из них некоторые полезные идеи.,

В этой статье вы получите практический опыт работы с Excel VBA TextBox.

Примеры Excel VBA TextBox

Ниже приведены различные примеры VBA TextBox в Excel.

Вы можете скачать этот шаблон Excel для VBA TextBox здесь — Шаблон Excel для VBA TextBox

Пример № 1 — Как вставить TextBox в VBA?

Ниже приведены шаги для вставки TextBox в Excel VBA.

Шаг 1: Откройте файл Excel и нажмите Alt + F11, чтобы перейти на панель VBA.

Шаг 2: Как мы уже обсуждали, TextBox — это опция, доступная в пользовательской форме. Поэтому нам нужно вставить UserForm в VBE. Перейдите в меню «Вставка» > нажмите «Пользовательская форма» .

Шаг 3: Как только вы вставляете пользовательскую форму в VBA, вы можете видеть параметр Toolbox, связанный с ним, и иметь различные параметры, связанные с UserForm.

Шаг 4: В этом наборе инструментов выберите TextBox .

Шаг 5: Перетащите этот TextBox на форму пользователя.

Шаг 6: Нажмите F4, чтобы увидеть свойства пользовательской формы (в качестве альтернативы вы можете сделать это, щелкнув правой кнопкой мыши на вставленной пользовательской форме). Эти свойства позволяют вам внести некоторые необходимые изменения, такие как изменение имени пользовательской формы, чтобы иметь возможность легко получить к нему доступ.

Некоторые другие основные изменения, которые вы можете сделать в панели свойств UserForm, такие как изменение шрифта, изменение размера и т. Д.

Шаг 7: Введите текст « Добро пожаловать в VBA TextBox! В TextBox под UserForm.

Вот как вы можете создать VBA TextBox.

Пример №2 — Установка значения в VBA TextBox

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

Шаг 1: Вставьте новую пользовательскую форму в VBE. Перейдите в меню « Вставка» > нажмите «Пользовательская форма».

Шаг 2: Из UserForm Tools выберите TextBox и перетащите его в UserForm.

Шаг 3: Вставьте CommandButton под UserForm так же, как вы добавили TextBox.

Шаг 4: Измените заголовок командной кнопки на « Отправить » в свойствах. Вы можете перейти к свойствам командной кнопки, щелкнув правой кнопкой мыши Command Button> Click Properties .

Шаг 5: Дважды щелкните по кнопке отправки или щелкните правой кнопкой мыши и выберите « Просмотреть код» .

Шаг 6: В коде вставьте строку нового кода в подпроцедуру, как показано ниже.

Код:

Этот выделенный код позволяет назначать значение справа, заключенное в двойные кавычки, в TextBox. Вы также можете использовать свойство TextBox.Text вместо TextBox.Values, чтобы установить значение для TextBox.

Шаг 7: Нажмите F5 или кнопку Run под VBE, чтобы запустить этот код, вы увидите пользовательскую форму с пустым TextBox. Как только вы нажмете кнопку отправки, там появится текст, назначенный для TextBox.

Пример # 3 — Ограничить ввод TextBox, чтобы принимать только числовые значения

Выполните следующие шаги:

Шаг 1: Вставьте новую пользовательскую форму в VBA и добавьте в нее TextBox.

Шаг 2: Измените имя TextBox в разделе «Свойства» на « My_Age ».

Шаг 3: Дважды щелкните TextBox или щелкните его правой кнопкой мыши и выберите View Code .

Вы сможете увидеть начальную подпроцедуру, как показано ниже:

Код:

Шаг 4: Теперь попробуйте добавить условие If, которое начинается с If Not.

Код:

Шаг 5: Попросите компилятор проверить, является ли значение TextBox «My_Age» числовым или не использует IsNumeric Keyword перед условием «Если не».

Код:

Шаг 6: Когда каждое условие IF запрашивает, добавьте ключевое слово Then для него.

Код:

В этом фрагменте кода вы просите компилятор проверить, является ли значение, введенное пользователем в TextBox, числовым или нет. Если это не цифра, то что делать? Следуйте следующему шагу.

Шаг 7: С помощью MsgBox добавьте комментарий типа «Извините! Разрешены только цифры. », Если значение в TextBox не является числовым.

Код:

Шаг 8: Теперь закройте этот оператор IF, используя ключевое слово End IF.

Код:

Шаг 9: Теперь запустите этот код, нажав кнопку F5 на клавиатуре или кнопку Run из VBE, и просмотрите результат. Вы получите TextBox, как показано ниже:

Теперь я пытаюсь ввести в него целочисленное значение и посмотреть, позволяет ли оно мне вводить то же самое или нет.

Бинго, это позволяет мне хранить целочисленное значение.

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

Давайте проверим, позволяет ли это текстовое поле хранить некоторые отрицательные значения под ним или нет. Я наберу некоторое отрицательное число и проверю.

Что ж! Что ж!! Ну, это, я стреляю в сообщение о том, что разрешены только цифры Это произошло потому, что этот код, изначально написанный с условием IF, не имеет обходного пути, что делать, если число не положительное. Более того, возраст не может быть отрицательным. Правильно? Поэтому я получаю предупреждающее сообщение, как вы можете видеть выше. Однако, если вы нажмете OK в окне сообщения и попытаетесь ввести номер, это позволит вам сделать это. Но я не буду рекомендовать нарушать правила там.

Наконец, давайте попробуем некоторую текстовую строку в поле и посмотрим, позволяет ли она хранить то же самое в текстовом поле или нет.

Как и ожидалось, как только я ввел первую строковую букву, система помешала мне сделать это, бросив сообщение. Это связано с тем, что мы упомянули в нашем коде условие о том, что если значение не является числовым, отправьте пользователю сообщение о том, что допускаются только числовые значения.

То, что нужно запомнить

  • VBA TextBox — это специальная опция в пользовательской форме. Который предназначен для ввода данных от самого пользователя.
  • Есть два способа установить значения для TextBox: с помощью TextBox.Text и с помощью TextBox.Value.
  • Иногда необходимо ограничить ввод данных пользователем, чтобы мы получали правильный тип данных.

Рекомендуемые статьи

Это руководство по VBA TextBox. Здесь мы обсудим, как создать TextBox в Excel VBA вместе с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи —

  1. Как использовать функцию VBA IsNumeric?
  2. Создание поля со списком в Excel
  3. Вставьте флажок в Excel
  4. Функция VBA UCASE в Excel
  5. Как закрыть UserForm в VBA?

Источник

Объект TextBox (Outlook Forms Script)

Отображает пользовательскую информацию или информацию из упорядоченного набора данных.

Замечания

Элемент управления TextBox (текстовое поле) обычно используется для отображения информации, добавленной пользователем. Он также может отображать набор данных, таких как таблица, запрос, лист или результат подсчета. Если Элемент TextBox привязан к источнику данных, изменение содержимого TextBox также изменяет значение привязанного источника данных.

Форматирование любой части текста TextBox повлияет на весь текст элемента управления. Например, если изменить шрифт или размер любого символа элемента управления, изменение затронет все символы элемента управления.

По умолчанию для TextBox используется свойство Value .

Советы по использованию текстовых полей

TextBox — это гибкий элемент управления, управляемый следующими свойствами: Text, MultiLine, WordWrap и AutoSize.

Text содержит текст, отображаемый в текстовом поле.

MultiLine определяет способ отображения текста элементом управления TextBox (в виде одной строки или множества строк). Символы новой строки определяют конец одной строки и начало другой. Если параметр MultiLine имеет значение False (значение по умолчанию), текст усекается, а не упаковывается в оболочку.

WordWrap позволяет TextBox переносить строки текста, которые не помещаются в TextBox. Значение по умолчанию — True.

Если вы не используете WordWrap, элемент TextBox начинает новую строку текста при обнаружении символа новой строки в тексте. Если WordWrap отключен, вы можете иметь текстовые строки, которые не помещаются полностью в TextBox. Элемент TextBox отображает части текста, которые помещаются в его ширину, и усекает части текста, которые не помещаются. WordWrap можно использовать лишь в случае, если MultiLine присвоено значение True.

AutoSize определяет, полностью ли отображается текст в TextBox. При использовании AutoSize вместе с TextBox размер последнего элемента увеличивается или уменьшается в зависимости от количества текста и размера шрифта. Значение по умолчанию — False.

AutoSize удобно применять в таких случаях:

Отображение заголовка из одной или нескольких строк.

Отображение содержимого TextBox длиною в одну строку.

Отображение содержимого TextBox, состоящего из нескольких строк только для чтения.

Избегайте применять AutoSize к пустому элементу TextBox, который использует свойства MultiLine и WordWrap. В таком случае при вводе текста в TextBox этот элемент автоматически принимает вид поля шириною в один символ, отображающего весь текст одной строкой.

Методы

Имя Описание
Copy Копирует содержимое объекта в буфер обмена.
Cut Удаляет выбранную информацию из объекта и переносит ее в буфер обмена.
Paste Передает содержимое буфера обмена объекту.

Свойства

Имя Описание
AutoSize Возвращает или задает логическое значение, указывающее, будет ли объект автоматически изменять размер для отображения всего содержимого. Для чтения и записи.
AutoTab Возвращает или задает логическое значение, указывающее, происходит ли автоматическая вкладка, когда пользователь вводит максимально допустимое количество символов в TextBox. Для чтения и записи.
AutoWordSelect Возвращает или задает логическое значение, указывающее, является ли базовая единица, используемая для расширения выделенного фрагмента, словом или одним символом. Для чтения и записи.
BackColor Возвращает или задает значение Long , указывающее цвет фона объекта . Для чтения и записи.
BackStyle Возвращает или задает целое число , задающее стиль фона для объекта . Для чтения и записи.
BorderColor Возвращает или задает значение Long , указывающее цвет границы объекта. Для чтения и записи.
BorderStyle Возвращает или задает целое число , указывающее тип границы элемента управления. Для чтения и записи.
CanPaste Возвращает логическое значение, указывающее, содержит ли буфер обмена данные, поддерживаемые объектом. Только для чтения.
CurLine Возвращает или задает значение Long , представляющее текущую строку элемента управления. Для чтения и записи.
CurTargetX Возвращает значение Long , представляющее предпочтительную горизонтальную позицию точки вставки в многострочной области TextBox. Только для чтения.
CurX Возвращает или задает значение Long , представляющее текущее горизонтальное положение точки вставки в многострочной области TextBox. Для чтения и записи.
DragBehavior Возвращает или задает целое число , указывающее, включает ли система функцию перетаскивания для элемента управления . Для чтения и записи.
Enabled Возвращает или задает логическое значение, указывающее, может ли элемент управления получать фокус и реагировать на события, созданные пользователем. Для чтения и записи.
EnterFieldBehavior Возвращает или задает целое число , указывающее поведение выделения при вводе элемента TextBox. Для чтения и записи.
EnterKeyBehavior Возвращает или задает логическое значение, определяющее эффект нажатия клавиши ВВОД в TextBox. Для чтения и записи.
ForeColor Возвращает или задает значение Long , указывающее цвет переднего плана объекта. Для чтения и записи.
HideSelection Возвращает или задает логическое значение, указывающее, остается ли выделенный текст выделенным, если элемент управления не имеет фокуса. Для чтения и записи.
IMEMode Возвращает или задает целое число , указывающее режим времени выполнения по умолчанию редактора метода ввода (IME) для элемента управления. Для чтения и записи.
IntegralHeight Возвращает или задает логическое значение, указывающее, отображает ли элемент TextBox полные строки текста или частичные строки. Для чтения и записи.
LineCount Возвращает значение Long , указывающее количество текстовых строк в элементе TextBox. Только для чтения.
Locked Возвращает или задает логическое значение, указывающее, можно ли изменять элемент управления. Для чтения и записи.
MaxLength Возвращает или задает значение Long , указывающее максимальное число символов, которое пользователь может ввести в TextBox. Для чтения и записи.
MouseIcon Возвращает значение String , представляющее полное имя пути настраиваемого значка, назначаемого элементу управления. Только для чтения.
MousePointer Возвращает или задает целое число , указывающее тип указателя, отображаемого при наведении указателя мыши на определенный объект. Для чтения и записи.
MultiLine Возвращает или задает логическое значение, указывающее, может ли элемент управления принимать и отображать несколько строк текста. Для чтения и записи.
PasswordChar Возвращает или задает значение String , указывающее замещающий символ, который будет отображаться вместо символов, фактически введенных в TextBox. Для чтения и записи.
ScrollBars Возвращает или задает целое число , указывающее, имеет ли элемент управления вертикальные полосы прокрутки, горизонтальные полосы прокрутки или и то, и другое. Для чтения и записи.
SelectionMargin Возвращает или задает логическое значение, указывающее, может ли пользователь выделить строку текста, щелкнув область слева от текста. Для чтения и записи.
SelLength Возвращает или задает значение Long , представляющее количество символов, выделенных в элементе TextBox. Для чтения и записи.
SelStart Возвращает или задает значение Long , представляющее начальную точку выделенного текста, или точку вставки, если текст не выделен. Для чтения и записи.
SelText Возвращает или задает значение String , представляющее выделенный текст элемента управления. Для чтения и записи.
SpecialEffect Возвращает или задает целое число , указывающее внешний вид объекта. Для чтения и записи.
TabKeyBehavior Возвращает или задает логическое значение, указывающее, разрешены ли вкладки в области редактирования. Для чтения и записи.
Текст Возвращает или задает значение String , указывающее текст в элементе управления . Для чтения и записи.
TextAlign Возвращает или задает целое число , указывающее способ выравнивания текста в элементе управления . Для чтения и записи.
TextLength Возвращает значение Long , представляющее длину текста в количестве символов в области редактирования TextBox. Только для чтения.
Значение Возвращает или задает значение Variant , указывающее текст в области редактирования. Для чтения и записи.
WordWrap Возвращает или задает логическое значение, указывающее, будет ли содержимое элемента управления автоматически переноситься в конце строки, а элемент управления разворачивается в соответствии с текстом. Для чтения и записи.

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Источник

Давайте рассмотрим класс TextBox языка VBA, который позволяет размещать на форме текстовое поле. Класс vba TextBox позволяет создавать как многострочные, так и однострочные области для ввода текста, хот в последнем случае удобней воспользоваться функцией MsgBox. Также можно добавлять полосы прокрутки и определять максимальную длину вводимых символом. TextBox может использоваться и как компонент для ввода пароля.

Давайте для начала рассмотрим основные свойства класса TextBox и его базовое событие, а потом напишем пример.

События класса TextBox VBA языка

Value или  Text – текст, который введен в текстовое поле TextBox

Visible – позволяет спрятать (значение false) или снова отобразить (значение true) элемент.

MultiLine – данное свойство позволяет задать, будет ли текстовое поле однострочным (false), или многострочным (true).

WordWrap – свойство актуально использовать, если MultiLine содержит значение true, в таком случае, если WordWrap установлено в true, то произойдет автоматический перенос текста на новую строку, когда будет достигнута граница текстового поля TextBox.

ScrollBars – позволяет указать, будут или отображаться полосы прокрутки. Свойство может принимать следующие значения:

  • 0 – fmScrollBarsNone (полосы прокрутки отсутствуют)
  • 1– fmScrollBarsHorizontal (горизонтальная полоса прокрутки)
  • 2 – fmScrollBarsVertical (вертикальная полоса прокрутки)
  • 3 – fmScrollBarsBoth (горизонтальная и вертикальная прокрутки)

PasswordChar – позволяет задать символ, который будет отображаться вместо вводимых данных. Свойство актуально при вводе пароля.

MaxLength – позволяет указать максимальное количество символов, которое можно ввести в текстовое поле. По умолчанию – 0, то есть, ограничения нет.

Как и у других элементов управления, у класса TextBox есть события, основным событием для TextBox является Change – оно возникает каждый раз, когда в текстовое поле вводится символ. Возможно вам приходилось видеть такую картинку: при вводе проверочного кода, пока его длинна не достигнет заданной (например, 12 символов), кнопка “Проверить” не будет доступной. Тут тоже можно такое реализовать.

Форма vba с элементами TextBox и Label

Хорошо, теперь настало время практики. Я не буду снова вникать во все мелочи, как в прошлых статьях, поэтому скажу прямо: добавьте в проект новый модуль и новую форму. Выберите из окна ToolBox элемент управления Надпись (Label), добавьте ее на форму, пусть будет вверху, под ней поставьте текстовое поле (TextBox), а в самом низу – пусть будет кнопка (CommandButton с надписью “Проверить”). Хорошо, как и прежде, в редакторе кода для модуля прописываем процедуру:

Sub Module3()
    UserForm3.Show
End Sub

Учтите, что имя вашего модуля и формы могут отличаться.

Теперь нам нужно написать программный код на языке VBA, который будет делать следующее:

В текстовое поле будет вводиться текст, длина текста не больше 12 символов, пока длина будет меньше 12 символов, кнопка “Проверить” будет недоступна. Как только мы достигаем предела, кнопка становится активной, при нажатии на нее, содержимое текстового поля TextBox должно отобразиться в поле Label (Надпись).

И так, давайте посмотрим на процедуры, которые я прописал в редакторе кода для формы:

Private Sub bCheck_Click()
    Label1.Caption = TextBox1.Text
End Sub

Тут идет обработка одиночного щелчка по кнопке, при нажатии на кнопку, свойству Caption объекта Label1 (Надпись) будет присвоено содержимое текстового поля TextBox1 (свойство Text).

Private Sub TextBox1_Change()
    Dim LenText As Byte
    LenText = Len(TextBox1.Text)
    If LenText = 12 Then
        bCheck.Enabled = True
    Else
        bCheck.Enabled = False
    End If
End Sub

Тут происходит обработка события Change для текстового поля объекта TextBox1 класса vba TextBox. Переменная LenText будет хранить длину вводимого текста, при каждом вводе данных будет происходить проверка длины, если она ровна 12 – то произойдет активация кнопки, иначе 0 кнопка будет неактивна.

Private Sub UserForm_Activate()
    Label1.Caption = "Введите любой текст"
    Label1.FontSize = 15
    Label1.ForeColor = &H0
    Label1.TextAlign = fmTextAlignCenter
    Label1.WordWrap = True
    TextBox1.MultiLine = False
    TextBox1.MaxLength = 12
    TextBox1.FontSize = 15
    bCheck.Enabled = False
End Sub

TextBox языка VBA - процедуры формы

В этой процедуре происходит настройка начальных значений, некоторые из них можно задать и в окне Свойств, но я решил для наглядности прописать все в программном коде. Тут нет ничего страшно, как только форма загрузится в память, кнопка “Проверить” будет неактивной, размер шрифта для текстового поля и надписи установлен в 20, также мы установили максимальную длину текста для класса TextBox VBA языка и его однострочность.

Время создания: 16.03.2019 23:43

Текстовые метки: Excel, TextBox, VBA, текстбокс

Раздел: !Закладки — VBA — Форма

Запись: xintrea/mytetra_db_adgaver_new/master/base/151440704601ozzomq3n/text.html на raw.githubusercontent.com

Элемент управления TextBox

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

рис . 1.1 Элемент управления Textbox на панели ToolBox

рис. 1.2 Элемент управления Textbox на форме

Основные свойства элемента упраления TextBox: 

Свойство

Назначение

AutoSize

Определяет,   изменяет ли объект автоматически размеры, чтобы показать   его все содержание.Допустимые   значения:True —   Автоматически изменяет размеры контроля, чтобы показать   его все содержание.False —   Держит размер контроля постоянным.

AutoTab

Определяет,   происходит ли автоматическая табуляция, когда пользователь вводит   максимальное допустимое число символовДопустимые   значения:True —   табуляция происходит.False —   табуляция не происходит (значение по умолчанию).

AutoWordSelect

Определяет,   что являются (слово или знак) основной единицей, используемой,   чтобы определить выбор.Допустимые   значения:True —   Использует слово как основную единицу (значение по умолчанию).False —   Использует знак как основную единицу.

BackColor

Определяет   цвет фона объекта.Параметры:Вы можете   использовать любое целое число, которое представляет правильный цвет.   Вы можете также определить цвет при использовании функции   RGB с красными, зелеными, и синими цветными компонентами. Значение   каждого цветного компонента — целое число, которое колеблется   от нуля до 255. Например, Вы можете определить цвет, синего   как целочисленное значение 4966415 или как красные, зеленые,   и синие цветные компоненты 15, 200, 75.Комментарии:   Вы можете только видеть цвет фона объекта, если свойство BackStyle   установлено в fmBackStyleOpaque.

BackStyle

Устанавливает фоновый   стиль для объекта.Параметры   настройки для fmBackStyle:

  • fmBackStyleTransparent=        0 — Фон прозрачен
  • fmBackStyleOpaque =1 —        Фон непрозрачен (значение по умолчанию).

Комментарии:   Свойство BackStyle определяет, прозрачно ли управление.   Если BackStyle — fmBackStyleOpaque, управление не прозрачно,   и Вы ничего не можете видеть позади управления на форме.   Если BackStyle — fmBackStyleTransparent, Вы можете видеть через   управление и смотреть на что-нибудь  на форме,   расположенной позади управления.

BorderColor

Определяет   цвет границы объектаПараметры:   Вы можете использовать любое целое число, которое представляет   правильный цвет. Вы можете также определить цвет при использовании   функции RGB с красными, зелеными, и синими цветными компонентами.   Значение каждого цветного компонента — целое число, которое колеблется   от нуля до 255. Комментарии: Чтобы использовать свойство   BorderColor, свойство BorderStyle должно быть установлено в значение   кроме fmBorderStyleNone. BorderStyle использует BorderColor, чтобы определить   выделяющие цвета. 

BorderStyle

Определяет   тип границы, используемой управлением или формой.fmBorderStyleNone=0 —   У управления нет никакой видимой линии обрамленияfmBorderStyleSingle   = 1 — У управления есть граница одиночной линии.Значение   по умолчанию для ComboBox, Кадра, Метки, Окна списка или   TextBox 0 (Ни один). Значение по умолчанию для Изображения 1   (Сингл).

CanPaste

Определяет,   содержит ли Буфер обмена данные, которые поддерживает объект.Допустимые   значения:True — Объект   под курсором мыши может получить информацию, вставленную от Буфера   обмена (значение по умолчанию).False —   Объект под курсором мыши не может получить информацию, вставленную   от Буфера обмена.

Text

Возвращает   текст, содержащийся в поле 

Visible

Допустимые   значения:True (поле   отображается во время выполнения программы)False (в   противном случае) 

Enabled

Допустимые   значения:True   (пользователь непосредственно может вносить изменения в содержание   поля)False (в   противном случае) 

Multiline

Допустимые   значения:True   (устанавливается многострочный режим ввода текста)False   (однострочный режим) 

WordWrap

Допустимые   значения:True   (устанавливается режим автоматического переноса)False (в   противном случае) 

AutoSize

Допустимые   значения:True   (устанавливается режим автоматического изменения размера поля так, чтобы весь   вводимый текст помещался в нем)False   (устанавливаетя фиксированный размер поля) 

ScrollBars

Устанавливает   режим отображения в поле полос прокрутки. Допустимые значения:

  • fmScrollBarsNone (не выводить        полос прокрутки)
  • fmScrollBarsHorizontal        (выводить горизонтальную полосу прокрутки)
  • fmScrollBarsVertical        (выводить вертикальную полосу прокрутки)
  • fmScrollBarsBoth (выводить        горизонтальную и вертикальную полосы прокрутки)

SelLenghtSelStartSelText

Эти свойства   характеризуют выделенный в поле фрагмент текста (длина, начало   и сам фрагмент текста соответственно) 

MaxLenght

Устанавливает   максимальное допустимое количество вводимых в поле символов.   Если это свойство равно 0, то нет ограничений   на вводимое количество символов. 

PasswordChar

Устанавливает   символ,отображаемый при вводе пароля. Если это свойство   определено, то вместо вводимых символов в поле будет отображаться   установленный символ 

 Ввод в TextBox только определенных символов:

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

Function OnlyMySymbols (Symbol As Integer, Pattern as string) as Integer
If InStr (Pattern & Chr (8), Chr (Symbol)) > 0 Then
OnlyMySymbols = Symbol
Else
OnlyMySymbols = 0
End If
End Function

Применяется код так, если в поле Textbox1 необходимо разрешить введение только чисел:

Private Sub Textbox1_KeyPress (KeyAscii As Integer)
KeyAscii = OnlyMySymbols (KeyAscii, “0123456789.»)
End Sub

Быстрое заполнение полей TextBox:

Sub All_TextBoxes()

    Dim li As Long

    For li = 1 To 10

        UserForm1.Controls(“TextBox” & li).Value = li

    Next li

End Sub

Недостаток данного метода: имена элементов должны строго соответствовать используемым в коде и лишь нумерация на конце имени должна различаться.

В примере TextBox с именами от “TextBox1″ до “TextBox10″ будут подставлены значения номеров самих TextBox.

Достоинства данного метода:  В зависимости от имени можно проделывать различные действия: стирать значения, менять свойства элементов и т.д.

Обзорная статья про элементы управления предоставлена здесь

Так же в этом разделе:

  • Элементы управления VBA: название, значок, описание
  • Элементы управления VBA, добавление элементов управления на форму
  • TabStrip
  • Multipage
  • Image
  • RefEdit
  • Label
  • TextBox
  • Combobox
  • ListBox
  • TextBox, Frame, CheckBox
  • CheckBox
  • OptionButton
  • Frame
  • CommandButton
  • ToggleButton
  • ScrollBar
  • SpinButton
  • Использование классов для элементов управления на форме
  • Проверка ввода числа в текстовое поле на форме VBA
  • ‘==================== Проверка ввода
  • Как убрать заголовок у UserForm VBA
  • Как быстро заполнить/очистить элементы на форме(TextBox-ы, ComboBox-ы)
  • VBA/Listbox прокрутка колесиком мыши
  • Вертикальный скроллинг по ListBox
  • Высота строки по содержимому в ListView vba
  • Общие сведения о формах, элементах управления форм и элементах ActiveX на листе
  • Создание массива контролов в VBA, Управление массивом контролов по событию
  • программное создание контролов, MS Access
  • Обращение к контролам с помощью объекта «Controls»
  • Календарь на форме
  • Визуализация работы макроса при помощи прогресс-бара
  • Отобразить процесс выполнения
  • Позиционирование формы возле ячейки Excel 2007+ без Win API (VBA)
  • Определение разрешения экрана

MyTetra Share v.0.58

Яндекс индекс цитирования

Понравилась статья? Поделить с друзьями:
  • Text overflow word wrap
  • Textbox в excel для чего
  • Text overflow in word table
  • Textbox with scrollbar in excel
  • Text overflow break word