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

на главную

Жанры

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 предупреждает, что введено недопустимое имя

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

Идеальный мир для Лекаря 18

Сапфир Олег
18. Лекарь
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 18

Убивать, чтобы жить

Бор Жорж
1. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Убивать, чтобы жить

Обгоняя время

Иванов Дмитрий
13. Девяностые
Фантастика:
попаданцы
5.00
рейтинг книги
Обгоняя время

Инквизитор Тьмы

Шмаков Алексей Семенович
1. Инквизитор Тьмы
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Инквизитор Тьмы

Газлайтер. Том 9

Володин Григорий
9. История Телепата
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Газлайтер. Том 9

Эра Мангуста. Том 2

Третьяков Андрей
2. Рос: Мангуст
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Эра Мангуста. Том 2

Приручитель женщин-монстров. Том 10

Дорничев Дмитрий
10. Покемоны? Какие покемоны?
Фантастика:
аниме
фэнтези
5.00
рейтинг книги
Приручитель женщин-монстров. Том 10

Невеста клана

Шах Ольга
Фантастика:
попаданцы
фэнтези
5.00
рейтинг книги
Невеста клана

Красноармеец

Поселягин Владимир Геннадьевич
1. Красноармеец
Фантастика:
боевая фантастика
попаданцы
4.60
рейтинг книги
Красноармеец

Царь Федор. Трилогия

Злотников Роман Валерьевич
Царь Федор
Фантастика:
альтернативная история
8.68
рейтинг книги
Царь Федор. Трилогия

Газлайтер. Том 15

Володин Григорий Григорьевич
15. История Телепата
Фантастика:
боевая фантастика
попаданцы
5.00
рейтинг книги
Газлайтер. Том 15

Идеальный мир для Лекаря 12

Сапфир Олег
12. Лекарь
Фантастика:
боевая фантастика
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 12

Последний реанорец. Том III

Павлов Вел
2. Высшая Речь
Фантастика:
фэнтези
попаданцы
5.25
рейтинг книги
Последний реанорец. Том III

Волк: лихие 90-е

Киров Никита
1. Волков
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Волк: лихие 90-е