зависимости от выбранного цвета и четвертая форма скрывается. При нажатии кнопки «Отмена» четвертая форма скрывается.
На пятой форме расположена метка с текстом о возможностях созданного приложения (рис. 92).
Рис. 92. Пятая форма
Разработать и создать свой проект на любую тему, включающий:
главную форму с организованным на ней меню для выполнения определенных действий или вызова вспомогательных форм;
вспомогательные формы (минимум пять) с кнопками для перехода к главной форме и между ними;
кнопку на рабочем листе Excel для запуска проекта с проверкой пароля.
Использовать в проекте все виды элементов управления для организации пользовательского интерфейса. Использовать различные способы ввода и вывода данных.
1.Гарбер Г. З. Основы программирования на Visual Basic и VBA в Excel 2007 / Г. З. Гарбер. – М.: Солон-Пресс, 2008.
2.Зиборов В.В. Visual Basic 2010 на примерах / В.В. Зиборов. – СПб.: БХВПетербург, 2010.
3.Браун С. Visual Basic 6.0: учебный курс / С. Браун. – СПб.: Питер, 2007.
4.Слепцова Л.Д. Программирование на VBA в Microsoft Office 2010.
Самоучитель / Л.Д. Слепцова. – М.: Диалектика, 2010.
86
87
Функция InputBox выводит на экран диалоговое окно, содержащее сообщение и поле ввода, устанавливает режим ожидания ввода текста пользователем или нажатия кнопки, а затем возвращает значение типа String, содержащее текст, введенный в поле.
Синтаксис:
InputBox(сообщение [,заголовок] [,default] [,Xpos] [,Ypos])
Аргументы:
сообщение – текст, отображаемый в диалоговом окне. Для разделения строк используется символ возврата каретки
(chr(13));
заголовок – текст, отображаемый в строке заголовка диалогового окна. Если этот аргумент опущен, в строку помещается имя приложения;
default – текст, отображаемый в поле ввода как используемый по умолчанию, если пользователь не введет другую строку. Если этот аргумент опущен, поле ввода отображается пустым;
Xpos – горизонтальная координата окна ввода;
Ypos – вертикальная координата окна ввода.
Чтобы передать введенное в поле ввода значение программе, нужно присвоить значение функции InputBox переменной, например:
S = InputBox(“Введите имя”, “Ввод”, “Иван”)
Процедура MsgBox выводит на экран диалоговое окно, содержащее сообщение, устанавливает режим ожидания нажатия кнопки пользователем, а затем возвращает значение типа Integer, указывающее, какая кнопка была нажата.
Синтаксис:
MsgBox(сообщение [,кнопки] [,заголовок] [,справка, раздел])
Аргументы:
сообщение – текст, отображаемый в диалоговом окне;
кнопки – числовое выражение, представляющее сумму значений, которые указывают число и тип отображаемых кнопок, тип используемого значка, основную кнопку и
88
модальность окна сообщения. Значение по умолчанию равно 0. Все значения данного аргумента см. в табл. П. 1.1, П. 1.2;
заголовок – текст, отображаемый в строке заголовка диалогового окна. Если этот аргумент опущен, в строку помещается имя приложения;
справка – имя файла справки, содержащего справочные сведения о данном диалоговом окне. Если этот аргумент указан, необходимо наличие также аргумента раздел;
раздел – числовое выражение, определяющее номер соответствующего раздела справочной системы.
|
|
Таблица П. 1.1 |
Значения аргумента кнопки процедуры MsgBox |
||
Константа |
Значение |
Отображаемые кнопки |
vbOkOnly |
0 |
|
|
|
|
vbOkCancel |
1 |
|
|
|
|
vbAbortRetryIgnore |
2 |
|
|
|
|
vbYesNoCancel |
3 |
|
|
|
|
vbYesNo |
4 |
|
|
|
|
vbRetryCancel |
5 |
|
|
|
|
Примечание. Первые кнопки активны по умолчанию.
|
|
|
Таблица П. 1.2 |
Значения аргумента кнопки процедуры MsgBox |
|||
Константа |
Значение |
Описание |
Значок сообщения |
vbCritical |
16 |
Критический |
|
|
|
|
|
vbQuestion |
32 |
Вопрос |
|
|
|
|
|
vbExclamation |
48 |
Предупреждение |
|
|
|
|
|
vbInformation |
64 |
Информация |
|
|
|
|
|
Для проверки, на какой из кнопок был щелчок, можно использовать условный оператор. Например:
If MsgBox («Начинать?», vbYesNo + vbQuestion) = vbYes then
89
Операторы на действие этой кнопки
End If
Технология DragAndDrop позволяет перемещать различные объекты во время работы программы. Когда пользователь захватывает выбранный им объект, возникает некоторое событие, обработчик которого вызывает метод StartDrag объекта DataObject, который хранит значение перетаскиваемого элемента.
Синтаксис метода:
Function StartDrag ([Effect As fmDropEffect]) As fmDropEffect
Эта функция обычно вызывается в операторе присваивания вида: Result = объект.StartDrag([Еffect Аs fmDropEffect])
Необязательный параметр Effect и результат выполнения функции принадлежат перечислению fmDropEffect (табл. П. 2.1).
Таблица П. 2.1
Значения аргумента параметра Effect
Константа |
Значение |
|
Описание |
|
|
|
fmDropEffectNone |
0 |
Не копировать и не |
передвигать |
|||
|
|
опущенный |
исходный |
элемент |
на |
|
|
|
место назначения |
|
|
|
|
fmDropEffectCopy |
1 |
Копировать |
опущенный |
исходный |
||
|
|
элемент на место назначения |
|
|||
fmDropEffectMove |
2 |
Передвинуть |
опущенный |
исходный |
||
|
|
элемент на место назначения |
|
|||
fmDropEffectCopyOrMove |
3 |
Скопировать |
или |
передвинуть |
||
|
|
опущенный |
исходный |
элемент |
на |
|
|
|
место назначения |
|
|
|
|
Параметр Effect задает цель операции и имеет по умолчанию значение 1 (fmDropEffectCopy). Обычно он опускается, поскольку значение по умолчанию задает наиболее вероятную цель операции. Значение, возвращаемое методом StartDrag, определяет результат выполнения операции. Его можно использовать для анализа того, что же произошло в результате перетаскивания на самом деле. Между запуском метода StartDrag в правой части оператора присваивания и присваиванием результата левой части переменной Result в процессе
90