Файл: regeda_v_v_regeda_o_n_osnovy_programmirovaniya_na_vba.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 02.12.2019

Просмотров: 3127

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

NewMacros

Модуль

 

может

 

содержать

 

любое

 

количество

 

подмодулей

единственное

 

ограничение

 

состоит

 

в

 

том

что

 

его

 

суммарный

 

объем

 

не

 

должен

 

превышать

 4000 

строк

 

кода

.  

Программа

 

на

 

языке

 VBA 

состоит

 

из

 

одного

 

или

 

нескольких

 

моду

-

лей

Обычно

 

модуль

 

начинается

 

с

 

опций

которые

 

управляют

 

описанием

 

переменных

способом

 

управления

 

строк

 

и

 

т

.

д

., 

например

 

Опции

 VBA 

Option Explicit 

Инструкция

 

Option Explicit

 

используется

 

для

 

принудительного

 

объ

-

явления

 

всех

 

переменных

 

в

 

области

 General Declarations (

Общее

 

описание

модуля

которая

 

располагается

 

в

 

верхней

 

части

 

модуля

Эта

 

инструкция

 

исключает

 

возможность

 

случайного

 

создания

 

новых

 

переменных

Исполь

-

зование

 

этой

 

инструкции

 

полезно

 

при

 

отладке

 

программы

т

.

к

если

 

допу

-

щена

 

ошибка

 

в

 

имени

 

переменной

то

 

будет

 

выдано

 

сообщение

 

об

 

ошибке

Затем

 

в

 

модуле

 

располагается

 

область

 

объявления

 

переменных

 

и

 

констант

 

уровня

 

модуля

 

или

 

проекта

которые

 

могут

 

быть

 

использованы

 

во

 

всех

 

процедурах

 

либо

 

модуля

либо

 

проекта

например

 

'

Переменные

 

уровня

 

модуля

 

Dim bytA As Byte 
Dim strA1 As String 
Private i As Integer 
Private 

Среднее

 As Double

 

 

Далее

 

располагается

 

код

 

процедуры

 

или

 

функции

составляющий

 

саму

 

программу

.  

Процедура

 

представляет

 

собой

 

поименованную

 

часть

 

кода

выпол

-

няющую

 

определенные

 

действия

Процедура

 

может

 

иметь

 

параметры

ко

-

торые

 

в

 

результате

 

выполнения

 

последовательности

 

инструкций

 

могут

 

ме

-

нять

 

свои

 

значения

Процедура

 

имеет

 

следующий

 

синтаксис

[Public

Private

Friend][Static]Sub name[(arglist)] 

  [statements] 
 [Exit 

Sub] 

  [statements] 

End Sub 

Public

 – 

указывает

что

 

процедура

 

доступна

 

для

 

всех

 

других

 

про

-

цедур

 

во

 

всех

 

модулях

Private

 – 

указывает

что

 

процедура

 

доступна

 

для

 

других

 

процедур

 

только

 

того

 

модуля

 

в

 

котором

 

она

 

объявлена


background image

Friend

 – 

используется

 

только

 

в

 

модулях

 

классов

Позволяет

 

вызы

-

вать

 

процедуру

 

из

 

другого

 

модуля

 

проекта

Static

 – 

указывает

что

 

локальные

 

переменные

 

процедуры

 

сохра

-

няются

 

в

 

промежутках

 

времени

 

между

 

вызовами

 

этой

 

процедуры

arglist

 – 

список

 

аргументов

разделенных

 

запятой

значения

 

кото

-

рых

 

передаются

 

в

 

процедуру

 

или

 

возвращаются

 

из

 

процедуры

 

при

 

ее

 

вызо

-

ве

.  

statements

 – 

любая

 

группа

 

инструкций

выполняемых

 

в

 

процеду

-

ре

 

Sub

Exit Sub

 – 

инструкция

которая

 

приводит

 

к

 

немедленному

 

выходу

 

из

 

процедуры

 

Sub

В

 

состав

 

проекта

 VB 

могут

 

входить

 

несколько

 

форм

с

 

каждой

 

из

 

ко

-

торых

 

связан

 

свой

 

программный

 

модуль

Каждый

 

программный

 

модуль

 

может

 

включать

 

в

 

себя

 

процедуры

 

двух

 

типов

событийные

 

и

 

общие

Общая

 

процедура

 

представляет

 

собой

 

подпрограмму

которая

 

начи

-

нает

 

выполняться

 

после

 

ее

 

вызова

 

из

 

другой

 

процедуры

Выполнение

 

об

-

щих

 

процедур

 

не

 

связывается

 

с

 

какими

-

либо

 

событиями

они

 

вызываются

 

на

 

выполнение

 

с

 

помощью

 

оператора

 

Call 

и

 

имеют

 

следующий

 

формат

Call 

ИмяПроцедуры

 (

СписокПараметров

Список

 

входных

 

параметров

 

представляет

 

собой

 

набор

 

переменных

значение

 

которых

 

устанавливаются

 

до

 

начала

 

выполнения

 

процедуры

Событийная

 

процедура

 

представляет

 

собой

 

подпрограмму

которая

 

начинает

 

выполняться

 

после

 

реализации

 

определенного

 

события

В

 

рас

-

смотренной

 

в

 

следующем

 

разделе

 

программе

 

Калькулятор

 

содержатся

 

лишь

 

событийные

 

процедуры

большинство

 

из

 

которых

 

обрабатывает

 

со

-

бытие

 (

Click

), 

произошедшее

 

при

 

щелчке

 

левой

 

клавиши

 

мыши

 

на

 

соот

-

ветствующем

 

элементе

 

управления

Кроме

 

процедуры

 

Sub

 

в

 VBA 

используются

 

и

 

процедура

 

Function

которая

 

имеет

 

следующий

 

формат

[Public

Private

Friend][Static] Function name[(arglist)] 

  statements 
  [name=expression] 
 [Exit 

Function] 

  statements 
  [name=expression] 

End Function 


background image

Инструкция

 

Exit Function 

приводит

 

к

 

немедленному

 

выходу

 

из

 

процедуры

 

Function

.  

Если

 

требуется

 

использовать

 

возвращаемое

 Function

 

значение

в

 

отличие

 

от

 

процедуры

 

Sub

 

процедура

 

Function 

может

 

применяться

 

в

 

правой

 

части

 

выражения

как

 

и

 

любая

 

другая

 

встроенная

 

функция

 

переменная

=

 name()

 

В

 

свою

 

очередь

процедуре

 

Function 

может

 

присваиваться

 

значе

-

ние

 

какого

-

либо

 

выражения

 

name()=expression

 

name

 – 

имя

 

процедуры

 

Function

expression

 – 

любое

 

выраже

-

ние

 

возвращающее

 

значение

 

того

 

же

 

типа

что

 

и

 

процедура

 

Function

Для

 

вызова

 

процедуре

 

Function 

может

 

использоваться

 

так

 

же

как

 

и

 

для

 

процедуры

 

Sub

 

инструкция

 

Call

когда

 

интересует

 

не

 

возвращае

-

мое

 

процедурой

 

значение

а

 

осуществляемое

 

ей

 

действие

В

 VBA 

возможно

 

создание

 

рекурсивных

 

процедур

 

Function

 

и

 

Sub

т

.

е

процедур

 

вызывающих

 

самих

 

себя

.  

5.

 

ПРИМЕР

 

СОЗДАНИЯ

 

ПРИЛОЖЕНИЯ

 

Зайти

 

в

 

среду

 Visual Basic 

и

 

создать

 

приложение

 

Калькулятор

ко

-

торый

 

должен

 

выполнять

 

четыре

 

арифметические

 

действия

Создание

 

при

-

ложения

 

можно

 

условно

 

разделить

 

на

 

три

 

этапа

– 

создание

 

графического

 

интерфейса

 

будущего

 

приложения

– 

задание

 

значений

 

свойствам

 

объектов

 

графического

 

интерфейса

– 

создание

 

программного

 

кода

5.1.

 

Виртуальное

 

программирование

 

графического

 

интерфейса

 

Вставить

 

в

 

проект

 

форму

 

и

 

разместить

 

на

 

ней

 

необходимые

 

для

 

функционирования

 

приложения

 

управляющие

 

элементы

– 

три

 

текстовых

 

поля

  (

объекты

 

TextBox1

TextBox2

TextBox3

принадлежащие

 

классу

 

объектов

 

TextBox

): 

два

 

поля

 

для

 

ввода

 

числовых

 

данных

 

и

 

одно

 

для

 

получения

 

результатов

 

вычислений

– 

три

 

надписи

  (

объекты

 

Label1

Label2

Label3

), 

разместив

 

их

 

сверху

 

текстовых

 

полей

– 

пять

 

кнопок

  (

объекты

 

CommandButton1

CommandButton2

CommandButton3

CommandButton4

CommandButton

5, 

принадле

-

жащих

 

классу

 

объектов

 

CommandButton

): 

четыре

 

для

 

выполнения

 

ариф

-


background image

метических

 

операций

 (

сложение

вычитание

умножение

 

и

 

деление

и

 

одну

 

для

 

завершения

 

работы

 

приложения

Расположите

 

управляющие

 

элементы

 

в

 

форме

таким

 

образом

как

 

это

 

показано

 

на

 (

Рис

. 7.1.) 

 

Рис

. 7.1 

5.2.

 

Задание

 

значений

 

свойствам

 

объектов

 

графического

 

интер

-

фейса

 

Для

 

изменения

 

свойств

 

объектов

 

вызвать

 

Окно

 

свойств

 

Properties

Последовательно

 

выделяя

 

сами

 

объекты

задать

 

для

 

них

 

значения

 

свойств

 

Name

 (

Имя

и

 

Caption

 

(

Надпись

в

 

соответствии

 

с

 

таблицей

 7.1. 

Таблица

 7.1. 

Класс

 

объектов

 

Свойство

 

Значение

 

по

 

умолчанию Новое

 

значение

 

Name 

Form1 

Form1 

Форма

 (Form) 

Caption Form1 

Калькулятор

 


background image

Продолжение

 

таблицы

 1.7. 

Name 

Label1 

Label1 

Надпись

 

(Label) 

Caption Label1 

Первое

 

число

 

Name 

Label2 

Label2 

Надпись

 

(Labe2) 

Caption Label2 

Второе

 

число

 

Name 

Label3 

Label3 

Надпись

 

(Labe3) 

Caption Label3 

Результат

 

Name 

Command1 

CmdPlus 

Кнопка

  

(CommandButton) Caption Command1 

Name 

Command2 

CmdMinus 

Кнопка

  

(CommandButton) Caption Command2 

– 

Name 

Command3 

CmdUmn 

Кнопка

  

(CommandButton) Caption Command3 

Name 

Command4 

CmdDelen 

Кнопка

  

(CommandButton) Caption Command4 

Name 

Command5 

CmdExit 

Кнопка

  

(CommandButton) Caption Command5 

Выход

 

Для

 

объектов

 

TextBox

 

изменить

 

значения

 

двух

 

свойств

 

Text

 

и

 

Font

Свойство

 

Text

 

задает

 

последовательность

 

символов

выводимых

 

в

 

поле

Первоначально

 

текстовые

 

поля

 

должны

 

быть

 

пустыми

А

 

свойство

 

Font

 

задает

 

нужный

 

шрифт

начертание

 

и

 

размер

 

шрифта

размещаемого

 

в

 

текстовом

 

поле

5.3.

 

Создание

 

программного

 

кода

На

 

этом

 

этапе

 

происходит

 

кодирование

 

событийных

 

процедур

 

в

 

при

-

ложении

В

 

рассмотренной

 

программе

 

Калькулятор

 

содержатся

 

лишь

 

событийные

 

процедуры

обрабатывающие

 

событие

  (

Click

), 

произошед

-

шее

 

при

 

щелчке

 

левой

 

клавиши

 

мыши

 

на

 

соответствующем

 

элементе

 

управления

1)

 

Самая

 

простая

 

событийная

 

процедура

 

в

 

данном

 

приложении

 – 

процедура

 

завершения

 

программы

Эта

 

процедура

 

должна

 

вызываться

ес

-

ли

 

пользователь

 

щелкнет

 

по

 

кнопке

 

с

 

надписью

 

«

Выход

»

В

 

результате

 

ее

 

выполнения

окно

 

приложения

 

Калькулятор

 

будет

 

закрыто

а

 

само

 

при

-

ложение

 

будет

 

выгружено

 

из

 

памяти