Textbox vba excel свойства и методы
Отображает пользовательскую информацию или информацию из упорядоченного набора данных.
Примечания
Элемент управления TextBox (текстовое поле) обычно используется для отображения информации, добавленной пользователем. Он также может отображать набор данных, таких как таблица, запрос, лист или результат подсчета. Если TextBox привязан к источнику данных, изменение содержимого TextBox также изменяет значение связанного источника данных.
Форматирование любой части текста TextBox повлияет на весь текст элемента управления. Например, если изменить шрифт или размер любого символа элемента управления, изменение затронет все символы элемента управления.
Свойство по умолчанию для TextBox — это свойство Value.
Советы по использованию текстовых полей
TextBox — это гибкий контроль, управляемый следующими свойствами: Text, MultiLine, WordWrap и AutoSize.
Text содержит текст, отображаемый в текстовом поле.
MultiLine определяет способ отображения текста элементом управления TextBox (в виде одной строки или множества строк). Символы новой строки определяют конец одной строки и начало другой. Если значение MultiLine является ложным (значение по умолчанию), текст будет усечен, а не завернут.
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 этотэлемент автоматически принимает вид поля шириною в один символ, отображающего весь текст одной строкой.
Методы
Имя | Описание |
---|---|
Копировать | Копирует содержимое объекта в буфер обмена. |
Cut | Удаляет выбранную информацию из объекта и переносит ее в буфер обмена. |
Paste | Передает содержимое буфера обмена объекту. |
Свойства
Имя | Описание |
---|---|
AutoSize | Возвращает или задает boolean, который указывает, автоматически ли объект обновляется для отображения всего содержимого. Для чтения и записи. |
AutoTab | Возвращает или задает boolean, который указывает, происходит ли автоматическая вкладка, когда пользователь вводит максимально допустимое количество символов в TextBox. Для чтения и записи. |
AutoWordSelect | Возвращает или задает boolean, который указывает, является ли базовым элементом, используемым для расширения выбора, слово или один символ. Для чтения и записи. |
BackColor | Возвращает или задает длинный, который указывает фоновый цвет объекта. Для чтения и записи. |
BackStyle | Возвращает или задает набор integer, который задает фоновый стиль объекта. Для чтения и записи. |
BorderColor | Возвращает или задает long, который указывает пограничный цвет объекта. Для чтения и записи. |
BorderStyle | Возвращает или задает набор integer, который указывает тип границы управления. Для чтения и записи. |
CanPaste | Возвращает boolean, который указывает, содержит ли буфер обмена данными, поддерживаемые объектом. Только для чтения. |
CurLine | Возвращает или задает long, представляют текущую строку управления. Для чтения и записи. |
CurTargetX | Возвращает long, представляющие предпочтительное горизонтальное положение точки вставки в многолинейной textBox. Только для чтения. |
CurX | Возвращает или задает long, представляющие текущее горизонтальное положение точки вставки в многолинейной textBox. Для чтения и записи. |
DragBehavior | Возвращает или задает набор integer, который указывает, включает ли система функцию перетаскивания для управления. Для чтения и записи. |
Enabled | Возвращает или задает boolean, который указывает, может ли управление получать фокус и реагировать на события, созданные пользователем. Для чтения и записи. |
EnterFieldBehavior | Возвращает или задает набор integer, который указывает поведение выбора при вводе TextBox. Для чтения и записи. |
EnterKeyBehavior | Возвращает или задает boolean, определяющий эффект нажатия ENTER в TextBox. Для чтения и записи. |
ForeColor | Возвращает или задает длинный, который указывает цвет переднего плана объекта. Для чтения и записи. |
HideSelection | Возвращает или задает boolean, который указывает, остается ли выбранный текст выделен, если у управления нет фокуса. Для чтения и записи. |
IMEMode | Возвращает или задает integer, который указывает режим времени работы по умолчанию редактора метода ввода (IME) для управления. Для чтения и записи. |
IntegralHeight | Возвращает или задает boolean, который указывает, отображает ли TextBox полные строки текста или частичные строки. Для чтения и записи. |
LineCount | Возвращает long, указывав количество строк текста в TextBox. Только для чтения. |
Locked | Возвращает или задает boolean, который указывает, можно ли изменить управление. Для чтения и записи. |
MaxLength | Возвращает или задает long, указывав максимальное количество символов, которые пользователь может ввести в TextBox. Для чтения и записи. |
MouseIcon | Возвращает строку, которая представляет полное имя пути настраиваемого значка, назначенного для управления. Только для чтения. |
MousePointer | Возвращает или задает набор integer, который указывает тип указателя, отображаемого при позиционировании пользователя мыши над определенным объектом. Для чтения и записи. |
MultiLine | Возвращает или задает boolean, который указывает, может ли управление принимать и отображать несколько строк текста. Для чтения и записи. |
PasswordChar | Возвращает или задает строку, указываемую на отображаемого символа-замеса вместо символов, фактически входящих в TextBox. Для чтения и записи. |
ScrollBars | Возвращает или задает набор integer, который указывает, имеет ли управление вертикальные свитки, горизонтальные столбцы прокрутки или оба. Для чтения и записи. |
SelectionMargin | Возвращает или задает boolean, который указывает, может ли пользователь выбрать строку текста, щелкнув в регионе слева от текста. Для чтения и записи. |
SelLength | Возвращает или задает long, представляющие количество символов, выбранных в TextBox. Для чтения и записи. |
SelStart | Возвращает или задает длинный, который представляет отправную точку выбранного текста, или точку вставки, если текст не выбран. Для чтения и записи. |
SelText | Возвращает или задает строку, представляюную выбранный текст управления. Для чтения и записи. |
SpecialEffect | Возвращает или задает набор integer, который указывает внешний вид объекта. Для чтения и записи. |
TabKeyBehavior | Возвращает или задает boolean, который указывает, разрешены ли вкладки в области редактирования. Для чтения и записи. |
Text | Возвращает или задает строку, заданную текстом в области управления. Для чтения и записи. |
TextAlign | Возвращает или задает набор integer, который указывает, как текст выравнивается в области управления. Для чтения и записи. |
TextLength | Возвращает длинный текст, который представляет длину текста в области редактирования TextBox. Только для чтения. |
Значение | Возвращает или задает вариант, который задает текст в области редактирования. Для чтения и записи. |
WordWrap | Возвращает или задает boolean, который указывает, автоматически ли содержимое управления обертывалось в конце строки, а управление расширяется в соответствии с текстом. Для чтения и записи. |
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Текстовое поле незаменимо, когда необходимо заполнить пользовательскую форму новой информацией. Например, это может быть ФИО нового сотрудника и его паспортные данные, сумма выручки за день, новый электронный адрес и многое-многое другое.
Если с помощью текстового поля требуется вводить заранее известную информацию, элементы которой можно сгруппировать в список, то в этом случае удобнее вместо элемента управления 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 необходимо указать адрес ячейки:
Создайте или откройте файл Excel с расширением .xlsm (Книга Excel с поддержкой макросов) или с расширением .xls в старых версиях приложения.
Перейдите в редактор VBA, нажав сочетание клавиш «Левая_клавиша_Alt+F11».
В открывшемся окне редактора VBA выберите вкладку «Insert» главного меню и нажмите кнопку «UserForm». То же подменю откроется при нажатии на вторую кнопку (после значка Excel) на панели инструментов.
На экране редактора VBA появится новая пользовательская форма с именем «UserForm1»:
Добавление элементов управления
Обычно вместе с пользовательской формой открывается панель инструментов «Toolbox», как на изображении выше, с набором элементов управления формы. Если панель инструментов «Toolbox» не отобразилась, ее можно вызвать, нажав кнопку «Toolbox» во вкладке «View»:
При наведении курсора на элементы управления появляются подсказки.
Найдите на панели инструментов «Toolbox» элемент управления с подсказкой «TextBox», кликните по нему и, затем, кликните в любом месте рабочего поля формы. Элемент управления «TextBox» (текстовое поле) будет добавлен на форму.
Найдите на панели инструментов «Toolbox» элемент управления с подсказкой «CommandButton», кликните по нему и, затем, кликните в любом месте рабочего поля формы. Элемент управления «CommandButton» (кнопка) будет добавлен на форму.
Кликнув по элементу управления на форме, вы можете изменять его размер, перетягивая границы за белые квадратики, и перетаскивать по форме, ухватив за одну из границ. Кликнув по заголовку формы или по ее рабочему полю, вы можете также изменять ее размер, перетягивая границы за белые квадратики.
Нажатием клавиши «F4» вызывается окно свойств, с помощью которого можно вручную задавать значения свойств пользовательской формы и элементов управления. В окне свойств отображаются свойства выбранного элемента управления или формы, если выбрана она. Также окно свойств можно вызвать, нажав кнопку «Properties Window» во вкладке «View».
Отображение формы на экране
Чтобы запустить пользовательскую форму для просмотра из редактора VBA, необходимо выбрать ее, кликнув по заголовку или свободному от элементов управления полю, и совершить одно из трех действий:
- нажать клавишу «F5»;
- нажать на треугольник на панели инструментов (на изображении выше треугольник находится под вкладкой «Debug»);
- нажать кнопку «Run Sub/UserForm» во вкладке «Run».
Для запуска пользовательской формы с рабочего листа Excel, можно использовать кнопки, описанные в этой статье. Например, чтобы отобразить форму с помощью «кнопки – элемента ActiveX», используйте в модуле рабочего листа следующий код:
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, такие как изменение шрифта, изменение размера и т. Д.
Вот как вы можете создать VBA TextBox.
Пример №2 - Установка значения в VBA TextBox
Давайте посмотрим, как мы можем установить значения для TextBox. Иногда бывает необходимо установить значения в противном случае, пользователь будет вводить все, что его интересует.
Шаг 1: Вставьте новую пользовательскую форму в VBE. Перейдите в меню « Вставка» > нажмите «Пользовательская форма».
Шаг 2: Из UserForm Tools выберите TextBox и перетащите его в UserForm.
Шаг 3: Вставьте CommandButton под UserForm так же, как вы добавили TextBox.
Шаг 5: Дважды щелкните по кнопке отправки или щелкните правой кнопкой мыши и выберите « Просмотреть код» .
Шаг 6: В коде вставьте строку нового кода в подпроцедуру, как показано ниже.
Код:
Этот выделенный код позволяет назначать значение справа, заключенное в двойные кавычки, в TextBox. Вы также можете использовать свойство TextBox.Text вместо TextBox.Values, чтобы установить значение для TextBox.
Шаг 7: Нажмите F5 или кнопку Run под VBE, чтобы запустить этот код, вы увидите пользовательскую форму с пустым TextBox. Как только вы нажмете кнопку отправки, там появится текст, назначенный для 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, как показано ниже:
Теперь я пытаюсь ввести в него целочисленное значение и посмотреть, позволяет ли оно мне вводить то же самое или нет.
Бинго, это позволяет мне хранить целочисленное значение.
Теперь давайте попробуем добавить некоторое число с плавающей точкой (значение с десятичными точками) в это текстовое поле и посмотрим, позволяет ли оно нам вводить то же самое.
Давайте проверим, позволяет ли это текстовое поле хранить некоторые отрицательные значения под ним или нет. Я наберу некоторое отрицательное число и проверю.
Наконец, давайте попробуем некоторую текстовую строку в поле и посмотрим, позволяет ли она хранить то же самое в текстовом поле или нет.
То, что нужно запомнить
- VBA TextBox - это специальная опция в пользовательской форме. Который предназначен для ввода данных от самого пользователя.
- Есть два способа установить значения для TextBox: с помощью TextBox.Text и с помощью TextBox.Value.
- Иногда необходимо ограничить ввод данных пользователем, чтобы мы получали правильный тип данных.
Рекомендуемые статьи
Это руководство по VBA TextBox. Здесь мы обсудим, как создать TextBox в Excel VBA вместе с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи -
Читайте также: