Чтение онлайн

на главную - закладки

Жанры

VBA для чайников

Каммингс Стив

Шрифт:

Private Sub СкрытаяПроцедура

(здесь должны размещаться операторы процедуры )

End Sub

Еще несколько примеров объявлений процедур вы уже встречали в разделе Создание процедур.

Операторы присваивания

Операторы присваивания приписывают переменным или свойствам объектов конкретные значения. Такие операторы всегда состоят из трех частей: имени переменной, или свойства, знака равенства и выражения, задающего нужное значение.

Термин выражение я определю чуть позже, но сначала приведу несколько примеров

операторов присваивания. Следующий оператор присваивает переменной МоеЛюбимоеЧисло значение суммы переменной ДругоеЧисло и числа 12:

МоеЛюбимоеЧисло = ДругоеЧисло + 12

Вот оператор, устанавливающий свойство Color (Цвет) объекта AGraphi cShape равным Blue (Синий) в предположении, что Blue является именованной константой, представляющей числовой код соответствующего цвета:

AGraphicShape.Color = Blue

А в следующем операторе, чтобы задать значение переменной КвадратныйКорень, для текущего значения переменной МоеЛюбимоеЧисло вызывается функция Sqr - встроенная функция VBA для вычисления квадратного корня:

КвадратныйКорень = Sqr(МоеЛюбимоеЧисло)

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

Выражение

Значение

3,14

3,14

AgraphicShape

5 (в предположении, что объект AGraphi cShape представляет пятиугольник)

( 12 - 3 qr ( x ) )/5

2 (в предположении, что х=4)

Розы красные, фиалки фиолетовые

Розы красные, фиалки фиолетовые

Выполняемые операторы

Выполняемые операторы делают главную работу в программе и используются для выполнения следующих задач.

* Вызов процедуры

* Активизация метода некоторого объекта.

* Управление порядком, в котором должны выполняться другие операторы, с помощью организации циклов или выбора участка программного кода (из нескольких вариантов) для последующего выполнения.

* Выполнение одного из встроенных операторов VBA или функции.

Посмотрите внимательно на следующие примеры. Вот оператор, вызывающий для выполнения метод Rotate объекта AGraphicShape:

AGraphicShape.Rotate(90)

Следующий небольшой фрагмент программного кода содержит два выполняемых оператора. Оператор If. . .Then выясняет, будет ли значение переменной ПорогСлышимости больше, чем 3, и если оно больше, то программе предписано выполнить следующий выполняемый оператор, а именно тот, в котором вызывается процедура ГенераторГромкогоЗвука:

If ПорогСлышимости 3 Then

ГенераторГромкогоЗвука

End If

Параметры компилятора

Последний класс операторов представляет собой инструкции для управления поведением компилятора VBA. К операторам,

задающим параметры компилятора, относятся следующие.

Оператор

Выполняемое действие

Option Base число

Установка правила нумерации массивов переменных – начинать нумерацию по умолчанию с 0 или 1 (подробности в главе 13)

Option Compare метод

Выбор метода, используемого VBA для сравнения строковых переменных (текста). Вместо слова метод можно указать Binary для сравнения на основе числового кода символов, Text для сравнения, при котором не учитывается регистр символов, или Database (только в Access) -для сравнения в порядке, отвечающем порядку сортировки соответствующей базы данных

Option Private Module

В результате помещения такого оператора в раздел Declarations модуля другие проекты не смогут получить доступ к процедурам, переменным и константам этого модуля, даже если эти объекты объявлены как открытые (подробно об области видимости см. выше в разделе Обзор области видимости)

Option Explicit

Это единственный из операторов, задающих параметры компилятора, о котором следует знать и который стоит использовать. В результате помещения этого оператора в модуль VBA запрещает использовать переменные без их предварительного явного объявления (подробности в главе 7)

Выбор имен

В определенных рамках вы имеете возможность совершенно произвольно выбирать имена для переменных, процедур и всего другого, что вы создаете. Следующие правила применимы ко всем именованным элементам в VBA-программе. включая переменные, константы, типы данных, процедуры, модули, формы и проекты.

* Имена должны начинаться с буквы, но не с цифры. После первой буквы уже могут идти и цифры, и символ подчеркивания, как, например, в имени Скоытая_ПеремекнаяЗ

* Кроме символа подчеркивания, все остальные знаки пунктуации для использования в именах в VBA запрещены:

! • $ # 7 , . ( точка) { } [ ] = - ́ % / ~ : ;

* Не допускаются пробелы в именах.

* Длина имени не должна превышать 255 символов (40 символов - для форм и элементов управления).

* Имя должно, не совпадать ни с каким ключевым словом, функцией или оператором VBA.

* В рамках одной и той же области видимости одно и то же имя нельзя использовать для двух разных объектов. Например, все процедуры в модуле должны иметь разные имена. Не допускается, чтобы переменная процедуры и переменная уровня модуля (определенная в разделе Declarations модуля) имели одинаковые имена. Однако можно использовать одно и то же имя для разных переменных, если эти переменные локальны и размещаются в разных процедурах.

Если вы попытаетесь ввести имя, нарушающее эти правила, редактор Visual Basic сообщит об этом, как только вы уберете текстовый курсор из соответствующей строки программного кода. Символы в строке станут красными, и на экране возникнет сообщение с так называемым объяснением ошибки (рис. 6.1). Исключение: предупреждение о дублировании имен процедур не появится до тех пор. пока программа не начнет выполняться.

Рис. 6.1. Редактор Visual Basic предупреждает, что введено недопустимое имя

Поделиться:
Популярные книги

Москва. Путь к империи

Торопцев Александр Петрович
Научно-образовательная:
история
5.00
рейтинг книги
Москва. Путь к империи

Тот, кто знает. Книга вторая. Перекресток

Маринина Александра
5.00
рейтинг книги
Тот, кто знает. Книга вторая. Перекресток

Гоген в Полинезии

Даниельссон Бенгт
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
Гоген в Полинезии

Трилогия «Хроники Сиалы»

Пехов Алексей Юрьевич
3. В одном томе
Фантастика:
фэнтези
9.47
рейтинг книги
Трилогия «Хроники Сиалы»

Адепт

Листратов Валерий
4. Ушедший Род
Фантастика:
попаданцы
аниме
фэнтези
5.25
рейтинг книги
Адепт

Синдром

Кейз Джон
Интеллектуальный детектив
Детективы:
триллеры
8.50
рейтинг книги
Синдром

На границе империй. Том 10. Часть 10

INDIGO
Вселенная EVE Online
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 10

Выйду замуж за спасателя

Рам Янка
1. Спасатели
Любовные романы:
современные любовные романы
8.00
рейтинг книги
Выйду замуж за спасателя

РКВМФ перед грозным испытанием

Иринархов Руслан Сергеевич
Неизвестные войны
Научно-образовательная:
военная история
5.00
рейтинг книги
РКВМФ перед грозным испытанием

Комментарии к письмам

Гоголь Николай Васильевич
Документальная литература:
публицистика
5.00
рейтинг книги
Комментарии к письмам

Двери между мирами (Извлечение троих) (др. перевод)

Кинг Стивен
2. Темная Башня
Фантастика:
фэнтези
7.29
рейтинг книги
Двери между мирами (Извлечение троих) (др. перевод)

Звездные судьбы (Исторические миниатюры)

Бестужева-Лада Светлана Игоревна
Научно-образовательная:
история
5.00
рейтинг книги
Звездные судьбы (Исторические миниатюры)

Мы друг друга не выбирали

Кистяева Марина
1. Мы выбираем...
Любовные романы:
остросюжетные любовные романы
прочие любовные романы
современные любовные романы
5.00
рейтинг книги
Мы друг друга не выбирали

Неудержимый. Книга IV

Боярский Андрей
4. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга IV