- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.1. Автоматизация работы пользователя в среде microsoft office
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.1. Автоматизация работы пользователя в среде microsoft office
- •672 Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.1. Автоматизация работы пользователя в среде microsoft office
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.1. Автоматизация работы пользователя в среде microsoft office
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •678 Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.1. Автоматизация работы пользователя в среде microsoft office
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.1. Автоматизация работы пользователя в среде microsoft office
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.1. Автоматизация работы пользователя в среде microsoft office
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.1. Автоматизация работы пользователя в среде microsoft office
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.1. Автоматизация работы пользователя в среде microsoft office
- •688 Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.2. Создание приложений на языке visual basic for applications
- •690 Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.2. Создание приложений на языке visual basic for applications
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.2. Создание приложений на языке visual basic for applications
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.2. Создание приложений на языке visual basic for applications
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.2. Создание приложений на языке visual basic for applications
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.2. Создание приложений на языке visual basic for applications
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •7 08 Глава 19. Инструментальные средства пользователя в среде microsoft office
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.2. Создание приложений на языке visual basic for applications
- •712 Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.2. Создание приложений на языке visual basic for applications
- •7 14 Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.2. Создание приложений на языке visual basic for applications
- •7 16 Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.2. Создание приложений на языке visual basic for applications
- •718 Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.2. Создание приложений на языке visual basic for applications
- •720 Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.3. Реляционные языки манипулирования данными
- •722 Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.3. Реляционные языки манипулирования данными
- •724 Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.3. Реляционные языки манипулирования данными
- •19.3. Реляционные языки манипулирования данными
- •728 Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.3. Реляционные языки манипулирования данными
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.3. Реляционные языки манипулирования данными
- •732 Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.3. Реляционные языки манипулирования данными 733
- •734 Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.3. Реляционные языки манипулирования данными
- •736 Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.3. Реляционные языки манипулирования данными
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.3. Реляционные языки манипулирования данными
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
Глава 19. Инструментальные средства пользователя в среде microsoft office
Single использует 4 байта для раздельного хранения мантиссы (цифровая часть числа — максимум 7 знаков) и порядка (расположение десятичной точки).
Double использует 8 байтов для раздельного хранения мантиссы (максимум 15 знаков) и порядка.
Currency использует 8 байтов, десятичная точка всегда располагается между 4 и 5 цифрами справа, обеспечивает автоматическое округление результатов вычислений.
Date использует 8 байтов и предназначен для хранения дат и времени. Даты записываются в виде целых чисел дней, а время — как дробная часть дня.
String использует 1 байт для хранения 1 символа плюс 1 байт для отметки конца строки. Символы хранятся в виде кодов ANSI.
Object использует 4 байта памяти для ссылки на любой объект Visual Basic.
Array определяет список данных любого типа и любой размерности.
Variant используется всегда, когда явно не указан какой-либо другой тип; может соответствовать любому другому разрешенному типу данных.
Таблица 19.4. Встроенные типы данных VBA
Тип данных |
Размер (в байтах) |
Разрядность (цифр) |
Диапазон |
Boolean |
2 |
1 |
True, False |
Integer |
2 |
5 |
-32768; 32768 |
Long |
4 |
10 |
-2147483648; 2147483648 |
Single |
4 |
7 |
-3.402823Е+38; 1.401298Е-45 и 1.401298Е-45; 3.402823Е+38 |
Double |
8 |
15 |
-1.79769313486232Е+308; -4.94065645841247Е-324 и |
|
|
|
4.94065645841247Е-324; 1.79769313486232Е+308 |
Currency |
8 |
19 |
-922337203685477.5808; 922337203685477.5808 |
Date |
8 |
|
01.01.100; 31.12.9999 |
String |
1+1 |
|
0; 65535 |
Object |
4 |
|
Любой определенный объект |
Array |
Зависит от |
|
Любой встроенный тип данных |
|
числа эле- |
|
|
|
ментов и |
|
|
|
их |
|
|
|
размера |
|
|
Variant |
Зависит от |
|
|
|
самих дан- |
|
|
|
ных |
|
|
Переменные
Переменной называется поименованная область в памяти компьютера во время выполнения программы.
П еременная требует явного объявления своего имени, которое образуют алфавитно-цифровые символы и специальные знаки. Имя всегда начинается с буквы и представляет собой непрерывную последовательность символов, но не более 255 и не содержит специальных символов.
19.2. СОЗДАНИЕ ПРИЛОЖЕНИИ НА ЯЗЫКЕ VISUAL BASIC FOR APPLICATIONS
693
Пример 19.11.
Разрешенное имя переменной |
Неразрешенное имя переменной |
Комментарий |
ПРИмер; приМЕР; EXAMPLE; example |
|
Нет различия прописных и строчных букв, кириллицы и латиницы в написании имен |
Тарифная_ставка_ 1 _разряда; Tax off 1 class |
|
Для улучшения семантики переменные могут состоять из отдельных слов, соединенных знаком |
|
Тарифная ставка $; #гоот; Class&subclass |
Нельзя использовать пробелы в имени переменной, а также специальные символы типа: # $ % & ! |
Программа на языке VBA имеет модульную структуру — главный модуль, в составе которого вложенные модули, содержащие одну или более вложенных процедур.
Каждая переменная имеет определенный тип значений и сферу действия, в противном случае ей приписывается тип Variant. На рис. 19.21 показана сфера действия переменных.
Рис. 19.21. Сфера действия переменных в программе на языке VBA
Переменные, объявленные только в процедуре, действуют в пределах процедуры. Объявление переменной на уровне модуля делает ее доступной для всех процедур модуля. При этом допускается переопределение имени переменной во вложенных процедурах. Для использования переменной во всех вложенных процедурах и модулях она объявляется глобальной на уровне внешнего модуля (например, переменная VarO доступна всем вложенным модулям и их процедурам).
Пример 19.12. Переменные var4, var5 используются только в самих процедурах. Переменная var2 объявлена в процедурах 1 и 2. Это соответствует двум различным переменным с одинаковым именем и своей сферой действия (они имеют разные значения и/или типы данных, независимы друг от друга).
Переменные на уровне модуля, varl — в модуле 1 и var3 — в модуле 2, используются во всех вложенных в модуль процедурах. Переменная varl предопределена в процедуре 1, но сохраняет свое значение в процедуре 2; переменная var3 предопределена в процедуре 3.
694