Каркас процедуры
Каркас процедуры
Вот два примера процедур, по одной каждого из типов (Sub и Function):
Public Sub Субмарина()
MsgBox Поднять перископ!
End Sub
Public Function ФункШин(ДатаРождения As Date)
ФункШин = DateDiff (yyyy, ДатаРождения, Date)
End Function
Как видите, каждая из процедур имеет начинающий процедуру оператор ее объявления, как минимум одну строку программного кода и завершающий оператор End. Подробнее эти элементы будут рассмотрены чуть позже в разделах Процедуры типа Sub и Процедуры типа Function.
Прежде чем создавать новую процедуру, нужно открыть окно программного кода для того модуля, в котором вы собираетесь эту процедуру разместить. Создайте новый модуль в соответствии с инструкциями, приведенными выше в разделе Добавление нового модуля в VBA проект, или откройте любой уже существующий модуль, дважды щелкнув на строке с его именем в окне проводника проекта.
После того как окно программного кода модуля будет открыто и станет активным, можно приступить к добавлению новой процедуры. Для начала просто вставьте в модуль оператор объявления процедуры и оператор ее завершения, т.е. оператор End. Это можно сделать двумя способами.
* Выбрать Insert Procedure и заполнить появившееся при этом диалоговое окно.
* Ввести соответствующие операторы вручную.
Печатать или использовать диалоговое окно?
Я рекомендую печатать каркас процедуры вручную просто потому, что использование диалогового окна не дает никакого выигрыша во времени, разве что вы печатаете исключительно медленно. Кроме того, подход сделайте сами позволяет выбрать место размещения процедуры в модуле, которую все равно не удастся заполнить с помощью диалогового окна.
Нужно только щелкнуть в том месте, где должна появиться процедура, напечатать строку с ее объявлением и нажать Enter. Вводить завершающие операторы End Sub и End Function не потребуется - редактор Visual Basic подставит подходящий оператор за вас.
Правда, возможно, что в самом начале освоения VBA вы будете чувствовать себя увереннее с диалоговым окном. Чтобы использовать этот подход, щелкните на кнопке Insert Procedure (Добавить процедуру). (Опять же, наверное, вам придется сначала щелкнуть на этой небольшой полоске со стрелкой рядом с кнопкой Insert и только затем выбрать Procedure из раскрывшегося меню.) Можно также просто выбрать Insert=Procedure из меню.
Появится диалоговое окно Add Procedure (Добавление процедуры). В этом окне нужно напечатать имя процедуры в поле Name (Имя), затем выбрать с помощью переключателей Туре (Тип) и Scope (Область видимости) соответственно тип и область видимости, а также установить, если нужно, флажок All Local variables as Statics (Считать все локальные переменные статическими).
Я знаю, что до сих пор ничего не говорил об области видимости и о статических переменных, но на все эти вопросы вы найдете ответы ниже, в разделе Обзор области видимости.
После щелчка на кнопке ОК редактор Visual Basic вставит пару из объявления процедуры и оператора End в конец модуля, не обращая внимания на то, где находился текстовый курсор до того, как вы открыли диалоговое окно.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
15.17.2 Процедуры NFS
15.17.2 Процедуры NFS Существуют процедуры NFS, обеспечивающие клиенту доступ, чтение или запись удаленного файла. Клиент может узнать структуру и реальную емкость удаленной файловой системы либо запросить атрибуты удаленного файла. Допустимо удалять и переименовывать
28.1. Каркас модуля
28.1. Каркас модуля Что будет делать ваш модуль, зависит от вас — это может быть драйвер устройства или просто небольшой модуль, дополняющий ядро нужной вам функцией.Для начала напишем каркас модуля на языке С. Этот каркас можно будет скомпилировать, но в результате
Каркас сайта
Каркас сайта Создание каркаса – это простой, не требующий особых знаний графических программ процесс. Каркас широко применяется в скульптуре, на нем обычно держится вся композиция. В нашем случае он представляет собой упрощенную модель сайта, в которой присутствуют все
3.2. Процедуры
3.2. Процедуры Пример 1.8: Процедура вычисляет корни квадратного уравненияAX2+BX+C=0PROGRAM KU (INPUT, OUTPUT);VAR A, B, C, D, X1, X2 : REAL;PROCEDURE KVUR (A, B, C: REAL; VAR D, X1, X2: REAL); BEGIN D:=SQR (B) -4*A*C; IF D = 0 THEN X1:= (-B) / (2*A) ELSE IF D> 0 THEN BEGIN X1:= ((-B) – SQRT (D)) / (2*A); X2:= ((-B) + SQRT (D)) / (2*A) END END; BEGINWRITE (‘Введите A=’);READLN (A);WRITE (‘Введите
Процедуры
Процедуры Введение Наконец-то мы принимаемся за хорошую главу!К этому моменту мы изучили почти все основные особенности компиляторов и синтаксического анализа. Мы узнали как транслировать арифметические выражения, булевы выражения, управляющие конструкции,
Процедуры типа Sub
Процедуры типа Sub Термин процедура типа Sub кажется мне довольно неуклюжим, но он достаточно точно отражает суть дела. В некоторых языках программирования суб процедурам и, или подпрограммами, называются процедуры, вызываемые главными процедурами. В VBA, хотя процедуры типа
Процедуры и функции
Процедуры и функции Процедура – это именованный программный блок, который не возвращает никакого значения. В отличие от нее, функция — это именованный программный блок, возвращающий некоторое значение в точку вызова. Обычно в виде функций или процедур выделяют часто
Каркас удаленного взаимодействия .NET
Каркас удаленного взаимодействия .NET Когда клиенты и серверы обмениваются информацией через границы приложений, среда CLR вынуждена использовать низкоуровневые примитивы, обеспечивающие настолько "прозрачное" взаимодействие сторон, насколько это возможно. Это значит,
Процедуры сравнения
Процедуры сравнения Само действие поиска элемента в наборе элементов требует возможности отличать элементы друг от друга. Если мы не можем различить два элемента, то не имеет смысла искать один из таких элементов. Таким образом, первая трудность, которую нам потребуется
1.2.6. Каркас диаграммы
1.2.6. Каркас диаграммы На рис. 1.2.26 показан типичный пример диаграммы декомпозиции с граничными рамками, которые называются каркасом диаграммы. Рис. 1.2.26. Пример диаграммы декомпозиции с каркасомКаркас содержит заголовок (верхняя часть рамки) и подвал (нижняя часть).
Оконные процедуры
Оконные процедуры WindowProc Функция WindowProc является определяемой приложением функцией обратного вызова, которая обрабатывает отправленные окну сообщения. LRESULT CALLBACK WindowProc ( HWND hwnd , // дескриптор окна UINT uMsg , // идентификатор сообщения WPARAM wParam , // первый параметр сообщения LPARAM lParam
Хранимые процедуры
Хранимые процедуры Язык процедур Firebird (PSQL) реализует расширения его языка SQL, предоставляя логику условий, структуры управления потоками выполнения, обработку исключений (как встроенных, так и определенных пользователем), локальные переменные, механизм событий и
1.2.6. Каркас диаграммы
1.2.6. Каркас диаграммы На рис. 1.28 показан типичный пример диаграммы декомпозиции с граничными рамками, которые называются каркасом диаграммы. Рис. 1.28. Пример диаграммы декомпозиции с каркасомКаркас содержит заголовок (верхняя часть рамки) и подвал (нижняя часть).