- •Вопросы к экзамену Диалоговые средства асои
- •Понятие ас. Виды ас. (согласно гост 34.003-90)
- •Основные компоненты ас.????????????????????????????????????????
- •Режимы выполнения функций ас.????????????????????????????????
- •Понятие диалоговых средств ас. Виды диалоговых средств ас.
- •Состав диалоговых средств ас.
- •Структуры диалога. Характеристика диалога типа "вопрос и ответ".
- •Структуры диалога. Характеристика диалога на основе "меню". Форматы "меню", особенности разработки “меню”.
- •Структуры диалога. Диалог на основе экранных форм. Разновидности диалога. Особенности разработки.
- •Структуры диалога. Диалог на основе командного языка.
- •Разработка сценария диалога. Шаг диалога.
- •Темп ведения диалога.
- •Диалоговые панели. Компоновка элементов диалоговой панели.
- •Диалоговая панель открыть
- •Диалоговая панель сохранить как
- •Диалоговые панели найти, заменить, печать, макет страницы, шрифт, цвет
- •Вторичные окна. Окно Палитра.
- •Вторичные окна. Окно сообщений. Форматы окна сообщений.
- •Вторичные окна. Окно Сообщение. Заголовок окна сообщений. Использование кнопок в окне Сообщение.
- •Вторичные окна. Окно Сообщение. Выбор текста сообщений.
- •Вторичные окна. Всплывающие окна.
- •Структура проекта vba. Определение формы, модуля. Пользовательская функция Function и процедура Sub: определение, структура, синтаксис, особенности.
- •Данные и их описание в vba: алфавит, лексемы языка. Переменные, константы, идентификаторы: определения. Правила написания идентификаторов. Примеры. Типы данных.
- •2.4.2 Переменные и константы
- •2.4.7 Типы данных
- •Объявление переменных, констант в vba. Синтаксис. Виды констант: именованные, неименованные. Примеры. Строковые переменные. Области видимости переменных и констант в программном коде.
- •2.4.3 Объявление переменных
- •2.4.4 Объявление констант
- •2.4.5 Строковые переменные
- •2.4.6 Области видимости переменных и констант
- •Операторы в vba. Оператор присваивания: синтаксис, работа, примеры. Специальные операторы Set и With в vba. ???Соглашения по форматированию программного кода. Примеры.??????
- •2.6 Операторы, выражения и операции
- •2.6.1 Операция присваивания
- •Операторы в vba. Условный оператор: линейный (безальтернативный, альтернативный), блочный (безальтернативный, альтернативный). Структура, работа. Примеры.
- •2.8 Условный оператор
- •Операторы в vba. Оператор выбора (переключатель): структура, работа. Примеры.
- •2.9 Оператор выбора (переключатель)
- •Операторы в vba. Операторы цикла: циклы с параметром, циклы с условием (итерационные). Структура, работа, сравнительный анализ всех операторов цикла. Примеры.
- •2.10 Операторы цикла
- •2.10.1 Циклы с параметром For … Next
- •2.10.2 Циклы с условием (итерационные)
- •Объектно-ориентированное программирование в vba. Объекты ms Excel. Объектная модель Excel.
- •1.1 Особенности среды программирования
- •1.2 Запуск vba
- •1.3 Структура редактора Visual Basic
- •1.3.1 Окно проекта Project-vbaProject
- •1.3.2 Окно редактирования кода
- •1.3.3 Окно редактирования форм
- •1.3.4 Окно свойств “Properties”
- •1.3.5 Окно панели элементов управления (Toolbox)
- •Встроенные диалоговые окна в vba. Окно сообщений (вывода) MsgBox: назначение, синтаксис функции и оператора, константы процедуры. Окно ввода InputBox: назначение, синтаксис функции. Примеры.
- •3.2.1 Окна сообщений (MsgBox)
- •3.2.2 Окна ввода
- •Разработка Visual Basic-приложений. Пользовательская форма: общие сведения. Основные свойства объекта формы UserForm, основные методы формы.
- •Разработка Visual Basic-приложений. Элементы управления (панель элементов): имена объектов, их свойства, добавление в форму элементов управления. Основные свойства элементов управления.
- •Разработка Visual Basic-приложений. Элементы управления: командные кнопки (CommandButton), ярлыки (надписи) Label, текстовые окна (TextBox).
- •Разработка Visual Basic-приложений. Элементы управления: кнопки-переключатели (OptionButton) и контрольные индикаторы (CheckBox), рамки (Frame), линейки прокрутки (ScrollBar).
- •Разработка Visual Basic-приложений. Элементы управления: списки (ListBox) и комбинированные списки (ComboBox),
- •Разработка Visual Basic-приложений. Элементы управления: выключатели (TogleButton), набор вкладок (TabStrip), набор страниц (MultiPage), рисунок (Image), поле со свертыванием (RefEdit).
3.2.2 Окна ввода
Если в программе необходимо получить какую-либо информацию от пользователя (ввести свое имя, имя файла, входные данные для расчетов и т.п.), можно воспользоваться функцией ввода.
Она выводит на экран диалоговое окно, содержащее сообщение, после ввода и две кнопки ОК и Cancel.
Устанавливает режим ожидания ввода текста пользователем и нажатия кнопки <ОК> или <Отмена>,
Если пользователь выбрал <ОК>, окно ввода возвращает значение типа String, находящийся в поле ввода.
Если же пользователь выбрал <Отмена>, окно ввода возвращает пустую строку (Empty) независимо от того, что напечатал пользователь.
Синтаксис функции:
Строковая переменная = InputBox (Строковое выражение [, константа заголовка] [, константа поля ввода] [, xPos] [, yPos])
где
Строковая переменная – переменная, в которой хранится значение,
возвращаемое функцией InputBox ();
InputBox – имя функции;
строковое выражение – выражение, которое будет отображаться в области
сообщения окна ввода;
константа заголовка – строковая константа или переменная, значение
которой будет отображаться в заголовке окна ввода;
константа поля ввода – строковая константа или переменная, значение
которой будет отображаться в поле ввода;
xPos, yPos – положение окна ввода соответственно по
горизонтали и вертикали (в твипах).
Пример 2.
Постановка задачи. Иллюстрация использования окна ввода.
Технология выполнения задания:
1 Запустить VBA.
2 В проект добавить форму. На панели инструментов выбрать элемент CommandButton и поместить на поле формы. Появится командная кнопка <CommandButton2>.
3 Щелкнуть мышью дважды на командной кнопке <CommandButton2> и в окне программного кода между строками Private Sub и End Sub набрать следующие утверждения:
Private Sub CommandButton2_Click()
A = InputBox ("Введите информацию", "Окно ввода")
If A <> " " Then
CommandButton2.Caption = A
Else
CommandButton2.Caption = "Строка ввода пуста"
End If
End Sub
Примечание.
Первая строка отображает окно ввода и присваивает возвращаемое значение переменной А.
Вторая строка проверяет содержимое поля ввода.
Если в поле набраны какие-либо данные, т.е. строка ввода непустая, то утверждение третьей строки после нажатия кнопки <OK> меняет название кнопки <CommandButton2> на содержимое введенных данных.
В противном случае (строка 4) в пятой строке <CommandButton2> присваивается значение Строка ввода пуста.
4 Запустить программу и проверить ее работоспособность, как показано на рисунке 36.
Разработка Visual Basic-приложений. Пользовательская форма: общие сведения. Основные свойства объекта формы UserForm, основные методы формы.
Свойства и методы объекта UserForm
Практически во всех приложениях Office используются пользовательские диалоговые окна. Диалоговые окна в VBA называются формами (объект UserForms). Каждому объекту UserForm присущи определенные свойства, методы и события, которые он наследует от класса объектов UserForms. Диалоговые окна (формы) и элементы управления составляют основу современного визуального интерфейса. Все элементы управления и технология работы с ними в основном стандартизованы и похожи для разных платформ и программных сред. Эти объекты помещены в специальную библиотеку MSForms.
Выделим основные моменты, которые следует иметь в виду при создании визуального интерфейса.
Все загруженные диалоговые окна представляют коллекцию UserForms со стандартными методами и свойствами. Элемент коллекции – объект класса UserForm – задает отдельное окно.
Для каждого типа элементов управления в библиотеке msforms имеется класс объектов, имя которого совпадает с именем элемента управления (его типа). Например, есть классы SpinButton и TextBox.
Диалоговые окна создаются, как правило, не программно, а визуально. Вначале создается само окно, а затем оно наполняется элементами управления при помощи соответствующей панели элементов. Этот этап называется этапом проектирования, и его следует отличать от этапа выполнения, когда приложение выполняется и конечный пользователь взаимодействует с приложением, в частности через диалоговые окна и их элементы управления. Как только создается диалоговое окно и помещается в него тот или иной элемент управления, в этот же самый момент автоматически в программе появляется объект соответствующего класса, с которым можно работать, вызывая его методы и изменяя его свойства.
На этапе проектирования, используя окно свойств, можно задать большинство свойств как самого диалогового окна, так и всех элементов управления, помещенных в него, кроме этого, программно необходимо прописать все обработчики событий.
Последний момент – отладка. Для ведения отладки нужно предварительно откомпилировать приложение и затем перейти в режим выполнения приложения.
Для того чтобы в разрабатываемое приложение можно было добавить форму, необходимо выполнить следующие действия:
запустить редактор VBA;
выделить правой кнопкой мыши объект Project, выполнить команду Insert + UserForm, после чего появляются новая форма и панель элементов Toolbox.
Добавление
формы
Новая
форма
Форма как объект имеет некоторые встроенные свойства, и их можно устанавливать или программным образом, или в Properties Window (окне свойств) редактора VBA (таблица. Наиболее часто используемые свойства объектов UserForm).
Наиболее часто используемые свойства объектов UserForm
Свойство |
Описание |
ActiveControl |
Возвращает объектную ссылку на элемент управления, находящийся в фокусе в данный момент. Только для чтения |
BackColor |
Целое типа Long определяет цвет фона формы |
Caption |
Текст, выводимый в качестве заголовка формы |
Controls |
Возвращает коллекцию всех элементов управления формы |
Cycle |
Определяет, должно ли нажатие клавиши табуляции вызывать последовательный выбор всех элементов управления во всех группах и на каждой странице многостраничных элементов управления или только в пределах текущей группы или страницы. Может содержать одну из двух встроенных констант: fmCycleAllForms или fmCycleCurrentForm |
Enabled |
Содержит значение типа Boolean, указывающее, доступна ли форма. Если его значение равно False, ни один из элементов управления формы не доступен |
Font |
Возвращает ссылку на объект Font, посредством которого можно выбрать параметры шрифта формы или элемента управления |
ForeColor |
То же самое, что и свойство BackColor, но устанавливает цвет, используемый для переднего плана (обычно это цвет текста) объекта формы |
Методы объекта UserForm
Всякий раз, создавая в проекте новый объект UserForm, одновременно создается новый подкласс объекта UserForm. Любые процедуры или функции, написанные в разделе General (общий) модуля класса, относящегося к форме, становятся дополнительными методами для отдельного подкласса объекта (таблица. Наиболее часто используемые методы для объектов UserForm).
Метод |
Назначение |
|
Copy |
Копирует выделенный в элементе управления текст в буфер обмена Windows |
|
Cut |
Вырезает выделенный в элементе управления текст и помещает его в буфер обмена Windows |
|
Hide |
Скрывает UserForm, не выгружая ее из памяти, сохраняя значения элементов управления формы и всех переменных, объявленных в модуле класса формы |
|
Paste |
Вставляет содержимое буфера обмена Windows в текущий элемент управления |
|
PrintForm |
Выводит на используемый в Windows по умолчанию принтер изображение формы, включая все данные, введенные в элементы управления |
|
Repaint |
Перерисовывает форму, выведенную на экран. Используется этот метод, если необходимо перерисовать форму, не ожидая, когда она будет перерисована через обычный период времени |
|
Show |
Выводит форму на экран. Если форма еще не загружена в память, то данный метод сначала ее загружает. Синтаксис метода Show:FormName.Show |
|
События объекта UserForm
Событие - это что-то, что может произойти с диалоговым окном или элементом управления диалогового окна (таблица. События объектов UserForm).
Событийные процедуры следует записывать в модуль класса, который является частью User Form. При этом такие процедуры должны иметь имена в виде
ObjectName_EventName,
где ObjectName - имя формы или элемента управления, a EventName - имя события, с которым идет работа. Такой формат имени позволяет VBA сопоставлять заданному событию требуемую процедуру.
События объектов UserForm
Событие |
Синтаксис заголовка процедуры |
Описание |
Activate |
Private Sub object_Activate() |
Инициируется всякий раз, когда окно формы становится активным. Используйте это событие для обновления содержимого диалоговых элементов управления, чтобы отразить любые изменения, которые произошли, пока окно было неактивным |
Click |
Private Sub object_Click() |
Инициируется всякий раз, когда по форме (любой ее части, не занятой элементами управления) щелкают мышью |
DblClick |
Private Sub object_DblClick() |
Инициируется всякий раз, когда по форме (любой ее части, не занятой элементами управления) дважды щелкают мышью |
Deactivate |
Private Sub object_Deactivate() |
Инициируется всякий раз, когда форма перестает быть активной |
Initialize |
Private Sub object_Initialize() |
Инициируется всякий раз, когда форма впервые загружается в память посредством выполнения оператора Load или с помощью метода Show. Используйте это событие для инициализации элементов управления формы при ее появлении на экране |
Resize |
Private Sub object_Resize() |
Инициируется при изменении размеров формы |
Terminate |
Private Sub object_ Terminate() |
Инициируется всякий раз, когда форма выгружается из памяти. Используйте это событие для осуществления любых специальных служебных задач, которые необходимо выполнить прежде, чем переменные формы будут выгружены |
