VBA - Добавление элементов управления динамически в пользовательскую форму

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

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

Установить Bouton = Me.Controls.Add ("Forms.CommandButton.1", "Bt" & i, True)

Название кнопки будет (в случае, если я = 1) BT1

Но событие Private Sub BT1_Click () никогда не будет сгенерировано. Для решения этой проблемы вы использовали наборы объектов для свойств и наборы классов для событий. Коллекции объектов содержат не только элемент управления, но и ключ к нему. Конфигурируя свойство Tag элементов управления с нужным индексом, коллекция классов может возвращать индекс, который также позволяет узнать, какой элемент управления был объектом этого события.

Нет никакого контроля в дизайне пользовательской формы. Все элементы управления динамически создаются калькулятором, в том числе Frames Container. Демо также дает возможность встроить кнопки в рамки

Скачать:

Сервер 1: Добавить элемент управления UserForm.xls

Предыдущая статья Следующая статья

Лучшие советы