Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование в Excel.doc
Скачиваний:
21
Добавлен:
03.05.2019
Размер:
1.48 Mб
Скачать

1.1.2. Как найти макрос в проекте

Для перехода в текст любой процедуры используйте «Окно проекта». Найдите объект - модуль, содержащий Ваш макрос. Все модули находятся в папке Modules (Модули) проекта Книги.

Найдя объект с интересующим Вас кодом, дважды щелкните его, и Вы увидите содержащиеся в нем процедуры. Этот способ пригоден для перехода как к процедурам, созданным Вами самостоятельно, так и к записанным макросам.

Ваш макрос помещается в модуль Module1 в папке Modules проекта данной рабочей книги.

1.1.3. Написание новой процедуры

Если Вы хотите написать код, не связанный с каким-либо объектом или событием, создайте процедуру в стандартном модуле. Процедура — это блок кода между операторами Sub и End Sub или Function и End Function.

Чтобы создать пустой стандартный модуль, перейдите в окно проекта, щелкните в любом месте проекта, к которому Вы хотите добавить модуль, и выберите из меню Insert (Вставка) команду Module (Модуль).

Чтобы открыть существующий стандартный модуль, выберите его в окне проекта и щелкните кнопку View Code (Программа).

Чтобы добавить процедуру к модулю, укажите его в окне проекта, выберите из меню Insert (Вставка) команду Procedure (Процедура), в диалоговом окне Add Procedure (Вставка процедуры) установите любые нужные параметры и щелкните кнопку ОК. (Справку об этих параметрах Вы получите, нажав клавишу F1.) Введите для примера в поле Name (Имя) строку Test1, в разделе Type (Тип) выберите переключатель Sub [Подпрограмма (Sub)], в разделе Scope (Область определения) — переключатель Public [Общая (Public)] , а затем “нажмите” кнопку ОК. После этого в Вашем модуле должна появиться такая процедура:

Public Sub Test1() End Sub

Добавив процедуру к модулю, можно написать ее код. В следующем примере в эту процедуру вставлена строка, которая выводит на экран сообщение:

Public Sub Test1() MsgBox "This is the Test1 procedure running" End Sub

Чем макрос отличается от процедуры

Хотя термины макрос и процедура иногда используют как синонимы, на самом деле они обозначают разные понятия. Процедура — термин более широкий; он применим к любому блоку кода, заключенному между операторами Sub и End Sub или Function и End Function. A макрос — специфический термин, относящийся только к открытым (public) процедурам Sub без параметров. Так что все макросы — процедуры, но не все процедуры — макросы. К макросам относятся процедуры, генерируемые при записи макросов, а также все процедуры, которые можно запускать из диалогового окна Macros (Макрос) приложения Excel.

1.1.4. Процедуры типа Sub и Function

В Visual Basic можно создавать процедуры двух типов: Sub и Function. Процедура типа Sub — блок кода, заключенный между операторами Sub и End Sub; он выполняет какую-то операцию, но значения не возвращает. Вот пример процедуры этого типа

Sub DisplayWelcome() MsgBox "Welcome" End Sub

Процедура типа Function — блок кода, заключенный между операторами Function и End Function; он тоже выполняет определенную операцию, но при этом обязательно возвращает какое-нибудь значение. Вот пример процедуры этого типа:

Function AddThree(OriginalValue As Long) AddThree = OriginalValue + 3 End Function