пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Утверждения и процедуры в VBA.

Написание новой программы

Язык VisualBasic содержит несколько основных программных конструкций – структур и символических элементов, которые являются строительными блоками для программ на VB. В число таких конструкций входят утверждения, процедуры, функции, методы, параметры, события и операторы.

Утверждения -  это синтаксически законченная единица, обычно одна строка программы, которая выполняет действие или определяет переменную. Некоторые утверждения содержат аргументы, которые определяют, как в точности должно выполняться данное действие.

Процедуры - это последовательность утверждений программы, выполняемых как единое целое. Процедура — это блок кода между операторамиSub иEndSub илиFunction и EndFunction. В VisualBasic можно создавать процедуры двух типов:Sub и Function Процедура типаSub — блок кода, заключенный между операторамиSub иEndSub, он выполняет какую-то операцию, но значения не возвращает. Процедура типаFunction — блок кода, заключенный между операторами Function и EndFunction; он тоже выполняет определенную операцию, но при этом обязательно возвращает какое-нибудь значение.Открытую процедуру, объявленную с применением ключевого словаPublic, разрешается вызывать из любой процедуры любого модуля приложения. Закрытую процедуру, объявленную с помощью ключевого словаPrivate, можно вызывать только из процедур, содержащихся в том же (что и закрытая процедура) модуле. ПроцедурыSub и Function могут быть либо закрытыми, либо открытыми.Если в объявлении процедуры не указано ниPrivate, ниPublic, то по умолчанию она считается открытой. Процедуру объявленную закрытой, нельзя вызывать из процедур за пределами модуля, в котором она находится. В то же время открытую процедуру можно вызывать извне ее модуля.Когда Вы вызываем процедуру, расположенную не в текущем модуле, VisualBasic просматривает другие модули и выполняет первую найденную открытую процедуру с указанным именем. Если имя открытой процедуры не уникально, лучше явно задать модуль в котором она находится.

Передача аргументов в процедуру.

Если процедуре необходимы дополнительные данные и их нельзя получить из контекста, в котором она выполняется, то эти данные следует передать ей как аргументы. Чтобы указать, что процедура принимает аргументы, перечислите их между скобками за именем процедуры в ее объявлении. Аргументы отделяются запятыми.Объявляя аргумент, можно задать его тип данных с помощью ключевого слова As (изменяет ли процедура значение аргумента, определяется ключевыми словамиByVal и ByRef), а также определить, обязателен ли аргумент, для чего предназначено ключевое слово Optional.

Функции – это процедура, которая выполняет действие и возвращает значение. Если функция принимает аргументы, то их заключают в скобки () справа от имени функции. Примеры функций:

Утверждение, содержащее функцию

Что оно делает

UName = uCase(userName.Text)

Функция uCase возвращает текстовую строку, в которой все буквы строки аргумента превращены в прописные. В данном примере uCase возвращает набранный прописными буквами вариант содержимого текстового окна userName, который присваивается переменной uName

StartTime = Now

Функция Now, которая не требует аргументов (отсюда отсутствие скобок () справа от ее имени), возвращает текущие время и дату, обращаясь к часам компьютера. В данном примере Now возвращает время и дату, которые присваиваются переменной startTime

Методы – это процедура, которая работает с объектами определенного типа (формой, текстовым окном и т.п.). Методы для данного объекта определяют набор действий, которые можно выполнить над объектом.

Утверждение, содержащие метод

Что оно делает

FrmOptions.Show 1

Метод Show выводит форму на экран. В данном примере Show выводит форму frmOptions. Аргумент 1 определяет, что выводимое окно будет ведущим (диалоговое окно, которое заставляет пользователя совершить определенные действия)

Printer.EndDoc

Метод EndDoc посылает документ на принтер, делая это по умолчанию. Этот метод не требует аргумента

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

Утверждение, содержащее параметр

Что оно делает

PicMap.Height = newHeight

Параметр Height определяет высоту объекта (в точках). В данном примере высота объекта picMap становится равной значению переменной newHeight

StartTime=txtStartTime.Text

Параметр Text определяет содержимое текстового окна, комбинированного окна или списка. В данном примере содержимое текстового окна txtStartTime копируется в переменную startTime

События – это действие, такое, как щелчок мыши или нажатие клавиши, которое распознается объектом и на которое объект реагирует. Каждый тип объекта имеет определенный набор действий, на которые он реагирует. Точную реакцию задаете Вы, программируя соответствующую процедуру обработки события для данного объекта. Имя процедуры обработки события включает в себя имя объекта, за которым следует символ подчеркивания, а за ним имя события. Например:

Процедура обработки события

Что она делает

Sub cmdOK_Click()

TxtOldlist.txt = ""

EndSub

Процедура обработки события cmdOK_Click стирает содержимое текстового окна txtOldlist, когда с объектом cmdOK происходит событие Click, иными словами, когда пользователь щелкает на кнопке ОК или нажимает клавишу ускорения для этой кнопки. (присвоение параметру Text объекта txtOldlist значения "" стирает содержимое txtOldlist)

Sub txtPassword_change()

If txtPassword.txt = secretWord

ThenreadData

EndSub

Процедура обработки события Change выполняется всякий раз, когда пользователь меняет, добавляет или стирает символ в текстовом окне txtPassword. Эта процедура проверяет содержимое текстового окна. Если введен правильный пароль, запускается общая процедура readData


17.06.2016; 15:27
хиты: 587
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь