русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Me.Hide


Дата добавления: 2015-06-12; просмотров: 1248; Нарушение авторских прав


Me.Tag = vbOK

End Sub

Private Sub CommandButton2_Click()

Me.Hide

Me.Tag = vbCancel

End Sub

Ключевое слово Me является ссылкой на объект, содержащий выполняемый код (в данном случае – на пользовательскую форму UserForm1). Свойство Tag используется для сохранения какой-либо полезной информации о форме (например, о событиях, предшествующих закрытию формы).

Параметры элементов управления, размещенных на форме, можно задать при ее инициализации (при обработке события Initialize, происходящего при отображении формы) или непосредственно перед вызовом метода Show формы. Например, следующий код создает пользовательскую форму (рис. 4) для замены значений в строке с номером 5 рабочего листа Excel:

With UserForm1

.StartUpPosition = CenterScreen

.TextBox1.Text = 0

.TextBox2.Text = 1000

.CheckBox1.Caption = _

"Выводить запрос перед заменой значения"

.CheckBox1.TripleState = False

.CheckBox1.Value = False

.CommandButton1.Default = True

.CommandButton2.Cancel = True

.Show

F = Val(.TextBox1.Text)

T = Val(.TextBox2.Text)

S = .CheckBox1.Value

End With

If UserForm1.Tag = vbOK Then

For Each i In [A5:J5]

i.Select

If i.Value = F Then

If S Then

x = MsgBox(“Выполнить замену?”, _

vbOKCancel, “Подтверждение”)

If x = vbOK Then

i.Value = T

c = c + 1

Else

MsgBox “Отказ от замены”

End If

Else

i.Value = T

c = c + 1

End If

End If

Next i

MsgBox “Сделано “ & Trim$(Str$(c)) & “ замен(а/ы)”

Else

MsgBox “Отказ от замены”

End If

Почти все описанные выше элементы управления могут быть вставлены не только в пользовательскую форму, но и прямо в документ (например, на рабочий лист Excel или на страницу документа Word), активизируя его. Это позволяет создать удобные формы и шаблоны для ввода информации и ее обработки. Для этого используются инструменты панелей «Формы» и «Элементы управления».



Возможности среды программирования VBA расширяются за счет применения дополнительных элементов управления. Файлы дополнительных элементов имеют обычно расширения VBX, OCX или DLL. Файлы VBX и OCX называют элементами управления ActiveX.

Дополнительный элемент управления – это многократно используемый компонент, являющийся самостоятельным объектом, реализованный обычно на C. Он имеет свои свойства и методы, как и любой другой объект.

Из программ VBA можно не только отображать пользовательские диалоговые окна, но и встроенные диалоговые окна. Для этого используется семейство Dialogs. Это семейство содержится в объекте Application (рис. 5).

Объекты Dialog принадлежат семейству Dialogs, которое содержит все встроенные диалоговые окна приложений MS Office. Можно создать новое диалоговое окно и добавить его в семейство. Для идентификации конкретного диалогового окна используется обращение Dialog(Индекс), где индекс задается константой, имеющей префикс “wdDialog”, за которым следует имя конкретного диалогового окна.

Более подробную информацию об этом классе можно получить, выполнив команду Просмотр объектов меню Вид редактора VBA. В списке «Классы» следует выделить данный элемент (Dialogs или Dialog) и в контекстном меню выбрать строку Справка. При вводе слова Dialog в коде программы редактор автоматически выдаст подсказку со списком используемых для выбора нужного окна констант (если включен режим подсказок). Например, вызов метода

dlgAnswer = Application.Dialogs(xlDialogPrint).Show

отображает встроенное диалоговое окно «Печать» приложения Excel. При вызове метода Show можно указывать аргументы для встроенных диалоговых окон.

5.13. Создание пользовательских меню и
панелей инструментов

Меню в Microsoft Office, как и панели инструментов, могут перемещаться по экрану, «вставать» в определенные места, могут содержать кнопки с графическими изображениями и текстовые элементы.

Обобщением панелей инструментов и меню являются панели команд, которые программно реализованы на основе объекта CommandBar. Эти панели могут выглядеть, как меню или как панели инструментов, но процесс их создания, изменения и управления ими осуществляется с помощью единых средств.

Семейство CommandBars содержится в объекте Application (рис. 6). Каждый объект CommandBar содержит, в свою очередь, семейство объектов CommandBarControl. Эти объекты принадлежат одному из трех типов: CommandBarButton, CommandBarComboBox или CommandBarPopUp.

Объект CommandBarButton представляет либо кнопку, либо элемент меню, которые выполняют команду или вызов подпрограммы.

Объект CommandBarComboBox представляет поле ввода, раскрывающийся список или поле со списком.

Объект CommandBarPopUp отображает меню и вложенные меню (подменю фактически представляют собой такой же объект CommandBar, содержащийся в объекте CommandBarPopUp).

Для идентификации конкретного объекта семейства используется ссылка вида CommandBars(Индекс), где в качестве индекса указывается имя или номер, указывающие нужный объект, а в качестве результата возвращается ссылка на объект.

Для создания панели команд с помощью кода VBA можно использовать метод Add семейства объектов CommandBars. Этот метод имеет следующие аргументы: Name – имя новой панели команд (может использоваться в качестве индекса для ее идентификации в будущем), Position – положение панели на экране (в качестве значения могут использоваться специальные константы, значения которых можно посмотреть в справочной системе при просмотре соответствующих объектов), MenuBar – значение типа Boolean (True – панель превращается в активную строку меню, False – создается панель инструментов), Temporary – значение типа Boolean (True означает, что панель удаляется после завершения приложения). Эта функция возвращает в качестве результата ссылку на объект CommandBar.

Объект CommandBar имеет следующие основные свойства:

Visible – панель является видимой, если это свойство установлено в True; если значение свойства равно False, панель является скрытой;

Position – положение панели на экране, задается с помощью специальных констант;

Controls – семейство объектов CommandBarControls, элементы которого содержатся на панели команд.

– Манипулировать объектами CommandBar можно с помощью следующих основных методов:

Delete – удаление панели команд (для встроенных панелей использоваться не может);

Reset – восстановление исходного состояния встроенной панели команд;

ShowPopUp – отображение контекстной pop-up панели команд.

Для создания нового объекта CommandBarControl можно использовать метод Add семейства объектов CommandBarControls. Этот метод имеет следующие аргументы: Type – тип добавляемого объекта (задается константами: msoControlButton – кнопка или элемент меню, msoControlComboBox – поле со списком, msoControlDropdown – раскрывающийся список, msoControlEdit – поле ввода, msoControlPopup – вложенное меню); ID – используется для идентификации встроенного элемента управления (для элементов, определенных пользователем, остается пустым); Parameter – для элементов управления, определенных пользователем, обычно остается пустым; Before – индекс элемента управления, перед которым добавляется данный элемент (число или имя, если оставлен пустым, элемент добавляется в конец); Temporary – если это значение равно True, элемент удаляется при закрытии приложения.

Объект CommandBarControl имеет следующие основные свойства:

Caption – текстовая строка, отображаемая в заголовке (для создания горячей клавиши используется символ ‘&’);

CommandBar – объект CommandBar, который является вложенным меню элемента управления (используется только для CommandBarPopUp);

Enabled – если принимает значение True, элемент управления доступен и может быть выбран пользователем, если False – элемент становится недоступным;

FaceID – число, идентифицирующее стандартный встроенный рисунок, отображаемый на элементе управления;

OnAction – имя подпрограммы VBA, которая будет выполнена при активизации элемента управления пользователем;

Style – определяет, что будет отображено на кнопке: текст, рисунок или комбинация текста и рисунка (принимает значения констант msoButtonAutomatic, msoButtonCaption, msoButtonIcon, msoButtonIconAndCaption);

ToolTipText – текст, отображаемый в окошке всплывающей подсказки элемента управления;

Visible – если установлено в True, элемент будет видимым, при значении False – скрытым.

Таким образом, появляется возможность управления панелями и меню не только «вручную», но и программно, с помощью кода, вставляемого в процедуры. Ниже приведены примеры таких процедур и результаты их выполнения.

Создание новой панели инструментов (результат выполнения процедуры приведен на рис. 7, а):

 

Кнопкам созданной панели приписаны подпрограммы Процедура1, Процедура2 и Процедура3. Для проверки работоспособности приведенной выше подпрограммы можно использовать в качестве таких процедур заглушки вида:

Sub Процедура1 ()

MsgBox “Нажата кнопка 1. Вызвана подпрограмма 1.”



<== предыдущая лекция | следующая лекция ==>
Пользовательские формы и диалоговые окна | End With


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.289 сек.