Controls vba excel свойства и методы
The Controls collection contains all of the controls on a form, report, or subform, within another control, or attached to another control. The Controls collection is a member of the Form, Report, and SubForm objects.
Remarks
You can enumerate individual controls, count them, and set their properties in the Controls collection. For example, you can enumerate the Controls collection of a particular form and set the Height property of each control to a specified value.
It's faster to refer to the Controls collection implicitly, as in the following examples, which refer to a control called NewData on a form named OrderForm. Of the following syntax examples, Me!NewData is the fastest way to refer to the control.
You can also refer to an individual control by referring explicitly to the Controls collection.
Additionally, you can refer to a control by its index in the collection. The Controls collection is indexed beginning with zero.
Use the Me keyword to represent a form or report within code only if you are referring to the form or report from code within the form module or report module. If you are referring to a form or report from a standard module or a different form's or report's module, you must use the full reference to the form or report.
To work with the controls on a section of a form or report, use the Section property to return a reference to a Section object. You can then refer to the Controls collection of the Section object.
Two types of Control objects, the tab control and option group control, have Controls collections that can contain multiple controls. The Controls collection belonging to the option group control contains any option button, check box, toggle button, or label controls in the option group.
The tab control contains a Pages collection, which is a special type of Controls collection. The Pages collection contains Page objects. Page objects are also controls. The ControlType property constant for a Page control is acPage. A Page object, in turn, has its own Controls collection, which contains all the controls on an individual page.
Other Control objects have a Controls collection that can contain an attached label. These controls include the text box, option group, option button, toggle button, check box, combo box, list box, command button, bound object frame, and unbound object frame controls.
Properties
See also
Support and feedback
Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.
Объект Control представляет собой управление на форме, отчете или разделе, в другом контрольном или присоединенном к другому.
Комментарии
Все элементы управления в форме или отчете относятся к коллекции Элементов управления для объекта Form или Report . Элементы управления в определенном разделе относятся к коллекции Элементов управления для этого раздела. Элементы управления в элементе управления вкладками или группового управления вариантами относятся к коллекции элементов управления для этого управления. Элемент управления меткой, присоединенный к другому элементу управления, принадлежит коллекции элементов управления для этого управления.
Если вы ссылаетесь на отдельный объект Control в коллекции Controls , вы можете ссылаться на коллекцию элементов управления неявно или явно.
Ключевое слово Me представляет объект Form или Report в коде только в том случае, если вы ссылались на форму или отчет из кода в модуле класса. Если вы ссылались на форму или отчет из стандартного модуля или модуля другой формы или отчета, необходимо использовать полную ссылку на форму или отчет.
Каждый объект Control обозначается определенной внутренней константой. Например, внутренняя постоянная acTextBox связана с управлением текстовым полем, а acCommandButton — с командной кнопкой. Константы для различных элементов управления Microsoft Access устанавливаются в свойстве ControlType управления.
Чтобы определить тип существующего управления, можно использовать свойство ControlType . Однако вам не нужно знать определенный тип управления, чтобы использовать его в коде. Вы можете просто представить его с помощью переменной типа управления данными.
Если вы знаете тип данных управления, к которому вы ссылались, и управление является встроенным управлением Microsoft Access, вы должны представить его с переменной определенного типа. Например, если вы знаете, что определенный контроль представляет собой текстовое поле, объявите переменную типа TextBox , чтобы представлять ее, как показано в следующем коде.
Если управление — это ActiveX, для его представления необходимо объявить переменную типа Control; нельзя использовать определенный тип. Если вы не знаете, на какой тип управления будет указать переменная, объявите переменную как тип Control.
Элемент управления группой параметра может содержать другие элементы управления в своей коллекции элементов управления, включая кнопку параметра, контрольное окно, кнопку toggle и элементы управления меткой.
Элемент управления вкладками содержит коллекцию Pages , которая является особым типом коллекции элементов управления. Коллекция Pages содержит объекты Page , которые являются средствами управления. Каждый объект Page , в свою очередь, содержит коллекцию элементов управления , которая содержит все элементы управления на этой странице.
Другие объекты Control имеют коллекцию элементов управления , которая может содержать прикрепленную метку. Эти элементы управления включают текстовое поле, группу вариантов, кнопку параметра, кнопку переключений, поле для проверки, поле комбо, поле списка, кнопку команды, связанный кадр объекта и элементы управления кадром объектов.
Методы
Свойства
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Коллекция элементов управления содержит все элементы управления в форме, отчете или подформе в другом элементе управления или присоединены к другому элементу управления. Коллекция Элементов управления является членом объектов Form, Report и SubForm .
Примечания
Вы можете привести отдельные элементы управления, посчитать их и задать их свойства в коллекции Controls . Например, вы можете перечислить коллекцию Controls конкретной формы и указать для свойства высоты Height каждого элемента управления конкретное значение.
Быстрее ссылаться на коллекцию Элементов управления неявно, как в следующих примерах, которые относятся к элементу управления Под названием NewData в форме с именем OrderForm. Из следующих примеров синтаксиса Me!NewData самый быстрый способ ссылаться на управление.
Вы также можете ссылаться на отдельный элемент управления, явно ссылаясь на коллекцию элементов управления.
Кроме того, можно ссылаться на управление по его индексу в коллекции. Коллекция элементов управления индексация начинается с нуля.
Используйте ключевое слово Me для представления формы или отчета в коде только в том случае, если вы ссылались на форму или отчет из кода в модуле формы или модуле отчета. Если вы ссылались на форму или отчет из стандартного модуля или модуля другой формы или отчета, необходимо использовать полную ссылку на форму или отчет.
Чтобы работать с элементом управления в разделе формы или отчета, используйте свойство Section , чтобы вернуть ссылку на объект Section . Затем можно сослаться на коллекцию элементов управления объекта Section .
Два типа объектов Управления , элемент управления вкладками и групповой элемент управления вариантами, имеют коллекции элементов управления , которые могут содержать несколько элементов управления. Коллекция элементов управления , принадлежащая элементу управления группой опций, содержит любую кнопку параметра, контрольное окно, кнопку toggle или элементы управления меткой в группе опций.
Другие объекты Control имеют коллекцию элементов управления , которая может содержать прикрепленную метку. Эти элементы управления включают текстовое поле, группу вариантов, кнопку параметра, кнопку переключений, поле для проверки, поле комбо, поле списка, кнопку команды, связанный кадр объекта и элементы управления кадром объектов.
Свойства
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
The Control object represents a control on a form, report, or section, within another control, or attached to another control.
Remarks
All controls on a form or report belong to the Controls collection for that Form or Report object. Controls within a particular section belong to the Controls collection for that section. Controls within a tab control or option group control belong to the Controls collection for that control. A label control that is attached to another control belongs to the Controls collection for that control.
When you refer to an individual Control object in the Controls collection, you can refer to the Controls collection either implicitly or explicitly.
Use the Me keyword to represent a Form or Report object within code only if you are referring to the form or report from code within the class module. If you are referring to a form or report from a standard module or a different form's or report's module, you must use the full reference to the form or report.
Each Control object is denoted by a particular intrinsic constant. For example, the intrinsic constant acTextBox is associated with a text box control, and acCommandButton is associated with a command button. The constants for the various Microsoft Access controls are set forth in the control's ControlType property.
To determine the type of an existing control, you can use the ControlType property. However, you don't need to know the specific type of control to use it in code. You can simply represent it with a variable of data type Control.
If you do know the data type of the control to which you are referring, and the control is a built-in Microsoft Access control, you should represent it with a variable of a specific type. For example, if you know that a particular control is a text box, declare a variable of type TextBox to represent it, as shown in the following code.
If a control is an ActiveX control, you must declare a variable of type Control to represent it; you cannot use a specific type. If you are not certain what type of control a variable will point to, declare the variable as type Control.
The option group control can contain other controls within its Controls collection, including option button, check box, toggle button, and label controls.
The tab control contains a Pages collection, which is a special type of Controls collection. The Pages collection contains Page objects, which are controls. Each Page object in turn contains a Controls collection, which contains all of the controls on that page.
Other Control objects have a Controls collection that can contain an attached label. These controls include the text box, option group, option button, toggle button, check box, combo box, list box, command button, bound object frame, and unbound object frame controls.
Methods
Properties
See also
Support and feedback
Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.
Элементы управления имеют все виды свойств и много событий связанных с ними, но сейчас мы лишь рассмотрим несколько из них, которые используются в VBA программировании:
Давайте начнем с добавления 3-х элементов управления - Label , TextBox и CommandButton :
Давайте сейчас отредактируем название и свойства этого элемента управления (используя свойство Caption , которое содержит текст). Мы хотим получить следующий результат:
Сейчас, когда мы введем номер и нажмем ОК - ничего не произойдет.
Чтобы создать какое-то событие, мы начнем добавлять событие, которое введет значение из текстового окна в ячейки А1 и закроет Форму.
Вы можете получить доступ к опциям, которые показаны ниже, дважды щелкнув по элементу управления:
Данный выпадающий список содержит различные элементы управления и эту Форму.
Выберите кнопку (Button) и событие Click:
Введенное значение сейчас уже будет сохранено в ячейке А1 перед закрытием этой Формы ( UserForm ).
Добавьте вторую подпись (Label) и измените следующие свойства: Caption , Forecolor (color: red) and Visible (False, чтобы скрыть элемент управления по умолчанию) :
Введенное значение будет тестироваться каждый раз при вводе очередного символа.
Нам еще нужно предотвратить валидацию формы, если значение не является числом.
Вы можете скачать Excel файл с примером: userform1.xls
Checkboxes
Далее пример как использовать CheckBox :
Когда чекбокс отмеченный/неотмеченный, значение связанной ячейки может быть изменено из-за использования события Click :
В этом примере, чекбокс стартует неотмеченным, когда Форма открывается впервые.
Чтобы проверить бокс когда значения соответствующих ячеек является & quot; Отмечено & quot;, мы запустим проверку когда форму активировано, используя UserForm_Initialize:
Здесь вы можете посмотреть пример в готовом Excel файле: userform2.xls
Кнопки опций (Option Buttons)
Пользователь может выбрать только одну кнопку-опцию на "группу" в отличие от чекбоксов.
Чтобы создать "группу", сначала вставьте Frame, а затем OptionButton :
Здесь вы можете посмотреть пример в готовом Excel файле: userform3.xls
Как только форма была отправлена, мы введем данные в ячейку, которая связана с названием колонки и row_value chosen.
Для того, чтобы знать какие опции были выбраны, мы могли бы сделать то же самое что и в предыдущем примере (с чекбоксами), но мы используем цикл, чтобы уменьшить размер кода.
Мы собираемся использовать цикл For Each , тип цикла, который мы еще до этого не рассматривали. Этот цикл позволяет выполнять инструкции для каждого объекта в "группе объектов":
Сейчас эта форма вводит значение "Ячейка выбрана!" в ячейку, которая была выбрана.
Чтобы избежать баги, нам необходимо проверить , что пользователь выбрал правильно с двух наборов опций.
В этом примере, когда форма еще не завершена, кнопка "Подтверждение" ("Confirm") появится в сером (будет деактивирована). Это не самое простое решение, но это хороший пример того, почему функции/процедуры является Полезные внутри формы (UserForm).
Измените текст и свойство Enabled , чтобы деактивировать кнопку.
Результат будет следующий:
В предыдущем коде мы использовали два For Each цикла, чтобы получить значение опционных кнопок (option buttons). Сейчас нам нужно использовать те же значения для кнопки "Подтверждение" ("Confirm") и событие Click для десяти опций.
Для этого нам не нужно копировать циклы для каждого события, мы вызовем их через функцию.
Начнем с предыдущего кода и модифицируя его, мы достигнем этого результата:
Все что нам осталось сделать, это создать процедуру, которая проверяет , что кнопки опций были выбраны корректно (через вызов двух функций), и которые активируют эту кнопку когда нужно.
Опять же, проверка выполняется в отдельной процедуре, чтобы избежать копирования кода 10 раз для каждого события каждого опционной кнопки:
Здесь вы можете посмотреть пример в готовом Excel файле: userform3b.xls
Читайте также: