Практикум по Visual Basic for Applications. 3 Глава Алгоритмы и программы Понятие алгоритма
Скачать 1.74 Mb.
|
Private | Public] [Static] Sub Имя([СписокАргументов] ) Операторы [Exit Sub] Операторы End Sub Элементы описания: Public Указывает, что процедура Sub доступна для всех дру- гих процедур во всех модулях Private Указывает, что процедура sub доступна для других процедур только того модуля, в котором она описана Static Указывает, что локальные переменные процедуры sub сохраняются в промежутках времени между вызовами этой процедуры Имя Имя процедуры 92 СписокАргументов Список переменных-(формальных параметров), пред- ставляющих аргументы, значения которых передаются в процедуру sub при ее вызове. Имена переменных разделяются запятой Процедура без параметров (аргументов) может быть исполнена без вызо- ва из другой программы, непосредственно в редакторе VBA. Для этого можно щелкнуть кнопку Run на стандартной панели инструментов и нажать кнопку F5 на клавиатуре. Процедура с параметрами (аргументами) запускается только при ее вызове из другой программы, т.к. аргументы должны получить конкретные значения. Инструкция Exit Sub приводит к немедленному выходу из процедуры Sub. Функция – процедура, результат выполнения которой присваивается име- ни функции в качестве ее значения. Синтаксис: [Private|Public][Static]Function Имя([СписокАргументов])As Тип Операторы [Exit Function] Операторы End Function Синтаксис инструкции Function содержит те же элементы, что и Sub. Инструкция Exit Function приводит к немедленному выходу из процедуры Function. Подобно процедуре Sub, процедура Function является самостоя- тельной процедурой, которая может получать фактические аргументы (пара- метры), выполнять последовательность инструкций и изменять значения этих аргументов. В теле функции должен быть оператор присваивания значения имени функции. Это значение может быть использовано в программе, вызы- вающей данную функцию. Как и процедура Sub, функция без параметров (аргументов) может быть запущена автономно из редактора VBA. Вызов процедуры: вызов процедуры Sub из другой процедуры можно произвести несколькими способами. Первый способ вызова процедуры Sub: Синтаксис: ИмяПроцедуры СписокФактическихПараметров СписокФактическихПараметров – список аргументов, передаваемых процедуре. Он должен соответствовать списку, заданному в описании процеду- ры по количеству и типу. Если требуется использовать несколько процедур с одинаковыми назва- ниями, расположенных в разных модулях, при их вызове после имени процеду- ры через точку надо указывать имя модуля в котором они расположены: 93 Синтаксис: ИмяМодуля.ИмяПроцедуры СписокФактическихПараметров Второй способ вызова процедуры sub производится с помощью инструкции Call. Синтаксис: Call ИмяПроцедуры (СписокФактическихПараметров) Обратите внимание, что в этом случае список фактических параметров заклю- чается в скобки. 4.7. Операторы ввода и вывода С помощью встроенных диалоговых окон осуществляют ввод и вывод информации и результаты программ. Окно сообщений (MsgBox) выводит простейшие сообщения для пользо- вателя, а окно ввода (InputBox) обеспечивает ввод информации. Функция Выводит на экран диалоговое окно, содержащее сообщение и поле InputBox ввода, две кнопки ОК и Cancel. Устанавливает режим ожидания вво- да текста пользователем и нажатия кнопки. Если нажата кнопка ОК, то функция возвращает текст, веденный в поле ввода. Если нажата кнопка Cancel, то возвращает пустую строку. Синтаксис: InрutBох(Рrоmpt[, Title] [, Default] [, xPos] [, yPos] [,Helpfile, Context]) Prompt строковое выражение, отображаемое как сообщение в диалоговом окне. Строковое выражение Prompt может содержать несколько строк. Для разделения строк допускается использование символа возврата каретки (Chr(13)), символа перевода строки (Chr(10)) или комбинацию этих символов (Chr(13) & Chr(10)); Title строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот параметр опущен, то в строку заго- ловка помещается имя приложения; Default строковое выражение, отображаемое в поле ввода как используемое по умолчанию, если пользователь не введет другую строку. Если этот параметр опущен, то поле ввода изображается пустым; xPos числовое выражение, задающее расстояние по горизонта- ли между левой границей диалогового окна и левым краем экрана. Если этот параметр опущен, то диалоговое окно выравнивается по центру экрана по горизонтали; yPos числовое выражение, задающее расстояние по вертикали между верхней границей диалогового окна и верхним краем экра- 94 на. Если этот параметр опущен, то диалоговое окно помещается по вертикали примерно на одну треть высоты экрана; Helpfile строковое выражение, определяющее имя файла справки, содержащего справочные сведения о данном диалоговом окне. Если этот параметр указан, то необходимо указать также па- раметр Context; Context числовое выражение, определяющее номер соответст- вующего раздела справочной системы. Если этот пара метр указан, то необходимо указать также пара метр Helpfile. Процедура Выводит на экран диалоговое окно, содержащее сообщение, устанав- MsgBox ливает режим ожидания нажатия кнопки пользователем, а затем воз- вращает значение типа Integer, указывающее, какая кнопка была нажата. Синтаксис: MsgBox(Prompt[, Buttons] [, Title] [, Helpfile, Context]) Prompt строковое выражение, отображаемое как сообщение в диалоговом окне; Buttons числовое выражение, представляющее сумму значе- ний, которые указывают число и тип отображаемых кнопок, тип используемого значка, основную. Значение по умолчанию этого параметра равняется 0. Значения констант, определяющих число, тип кнопок и используемого значка, приведены в таблице 2; Title строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот параметр опущен, то в строку заго- ловка помещается имя приложения; Helpfile строковое выражение, определяющее имя файла справ- ки, содержащего справочные сведения о данном диалоговом окне. Ес- ли этот пара метр указан, необходимо указать также параметр Context; Значения параметра Buttons процедуры MsgBox, определяющие ото- бражаемые кнопки в диалоговом окне: Константа Значение Отображаемые кнопки vbOKOnly 0 vbOKCancel 1 vbAbortRetryIgnore 2 vbYesNoCancel 3 vbYesNo 4 vbRetryCancel 5 95 При вызове процедуры можно использовать как приведенные константы, так и эквивалентные им числовые значения. Значения параметра Buttons процедуры MsgBox, определяющие ото- бражаемые значки в диалоговом окне: Константа Значение Значок сообщения vbCritical 16 vbQuestion 32 vbExclamation 48 vbInformation 64 При написании программ с откликом в зависимости от того, какая кнопка диалогового окна нажата, вместо возвращаемых значений удобнее использо- вать следующие константы VBA: Константа Значение Нажатая кнопка vbOK 1 ОК vbCancel 2 Отмена (Сапсеl) vbAbort 3 Прервать (Abort) vbRetry 4 Повторить (Retry) vbIgnore 5 Пропустить (Igпоrе) vbYes 6 Да (Yes) vbNo 7 Нет (No) 4.8. Свойства, методы пользовательской формы UserForm Свойство Описание Name Возвращает или устанавливает имя пользовательской формы. Caption Возвращает или устанавливает текст, отображаемый в строке заголовка формы. BorderStyle Возвращает или устанавливает тип границы. Достижимо только на этапе конструирования. Допустимые значения: fmВorderStyleNone или 0 (нет видимой границы); I fmВorderStyleSingle или 1 (имеется граница, ис- пользуется по умолчанию). BorderColor, BackColor Возвращают и устанавливают цвет фона и текста формы. Цвета зашифровываются в шестнадцатеричной системе счисления. Для удобства работы с цветами часто вместо их шестнадцатеричного представления используются кон- станты, встроенные в VBA. Left, Тор Возвращают или устанавливают местоположение верхнего левого угла формы. Height, Width Возвращают или устанавливают высоту и ширину формы. 96 Эти свойства включают в себя толщину границы формы и строку заголовка. InsideHeight, InsideWidth Возвращают высоту и ширину формы без учета толщины границы и строки заголовка. Метод Описание Show Отображает форму на экране. Hide Закрывает форму. Move Изменяет местоположение и размер формы. PrintForm Печатает изображение формы. Событие Описание Initialize Происходит во время конфигурирования формы, но до ее загрузки. Load Происходит после инициализации формы, но до ее отобра- жения на экран. Unload Событие, противоположное Load. Обычно используется для того, чтобы уточнить, действительно ли пользователь желает закрыть форму. Click, DblClick Происходят при щелчке на форме. Происходят при двойном щелчке на форме. Элементы управления – объекты, которые разработчик приложения может поместить на форму: Элемент управления Имя Кнопка, его создающая Поле ТextBox Надпись Label Кнопка СоmmапdВuttоn Список ListBox Поле со списком СоmbоВох Полоса прокрутки ScrollBar Счетчик SрinВuttоn Переключатель ОрtiоnВuttоn Флажок CheckBox Выключатель ToggleButton Рамка Frame Общие свойства элементов управления: Свойство Описание Name Имя элемента управления |