VBA-Урок 12.1. Пользовательские формы (UserForm)
Чтобы добавить UserForm, нужно сделать то же самое, когда мы добавляем новый модуль:
После этого появится форма (UserForm) и панель инструментов (Toolbox):
Если вы не видите окно Свойства ( Properties ), убедитесь, что оно отображено и тогда начните с изменения названия Формы (так, чтобы вы ее легко могли найти позже):
Вид ( UserForm ) имеет свои собственные события, подобно тому, как имеет рабочая книга или лист. Чтобы добавить событие, дважды щелкните по Форме ( UserForm).
Теперь давайте создадим два события, чтобы посмотреть как это работает. Первое событие будет определять начальный размер Формы , и второе — увеличивать ее размеры на 50 пикселей, когда пользователь щелкает.
Событие UserForm_Initialize будет срабатывать когда Форма запускается:
Для упрощения кода, мы можем использовать Me вместо названия формы (так как этот код есть в Форме , с которой мы работаем):
Второе событие будет возникать когда пользователь будут кликать по Форме:
Запуск формы (UserForm)
Чтобы запустить Форму в процедуре, используйте Show:
Объект UserForm
Объект UserForm — это окно или диалоговое окно, которое является частью пользовательского интерфейса приложения.
Коллекция UserForms — это коллекция, элементы которой представляют каждый загруженный UserForm в приложении. Коллекция UserForms имеет свойство Count, метод Item и метод Add. Свойство Count определяет число элементов в коллекции; свойство Item (элемент по умолчанию) — конкретный элемент коллекции; а метод Add позволяет добавить элемент UserForm в коллекцию.
Синтаксис
UserForm UserForms [ . Item ](index)
Индекс задатки представляет собой целый ряд с диапазоном от 0 до UserForms.Count — 1. Item — это элемент коллекции UserForms по умолчанию, который не требуется задавать.
Примечания
Коллекцию UserForms можно использовать для перебора всех загруженных в приложение форм. В ней определяется внутренняя глобальная переменнаяUserForms. Вы можете передать UserForms(index) функции, аргумент которой указан как класс UserForm.
Свойства пользовательских форм определяют их внешний вид, в том числе позицию, размер и цвет, а также некоторые аспекты их поведения.
Пользовательские формы также отвечают на события, запускаемые пользователем или системой. Например, вы можете добавить в процедуру события Initialize для элемента UserForm код, позволяющий инициализировать переменные уровня модуля до отображения элемента UserForm.
В дополнение к свойствам и событиям можно использовать методы для управления формами пользователей с помощью кода. Например, с помощью метода Move можно изменить расположение и размер userForm.
При разработке форм пользователя установите свойство BorderStyle для определения границ и установите свойство Caption для того, чтобы поместить текст в заголовок. В коде можно использовать методы Hide и Show, чтобы сделать UserForm невидимым или видимым во время запуска.
Элемент UserForm имеет тип данных Object. Вы можете объявить переменные с типом UserForm, прежде чем присвоить их экземпляру типа UserForm, объявленному во время разработки. Аналогичным образом, можно передать аргумент в процедуру как значение типа UserForm. Вы можете создавать в коде несколько экземпляров пользовательских форм с помощью ключевого слова New в операторах Dim, Set и Static.
Вы можете получить доступ к коллекции элементов управления в UserForm с помощью коллекции элементов управления. Например, чтобы скрыть все элементы управления в UserForm, используйте код, аналогичный следующему.
См. также
- Панель инструментов "Пользовательская форма"
- Окно "Пользовательская форма"
- Объекты (Visual Basic для приложений)
- Справочник по библиотеке объектов для Office (элементы, свойства, методы)
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.