Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Использование объектов приложения





 

Для управления приложением, поддерживающим VBA, или данными, содержащимися в его документах, требуется использовать объекты, их свойства и методы. В большинстве приложений число используемых классов объектов очень велико. Поэтому, прежде чем приступить к написанию программы, автоматизирующей работу с данным приложением, следует ознакомиться с его моделью объектов. Модель объектов (иерархия классов) определяет взаимосвязь между объектами, содержащимися в библиотеке типов используемого приложения. Самое верхнее место в иерархии любого приложения занимает объект приложения Application. Каждое приложение, поддерживающее VBA, поставляется с описанием иерархии классов. Полные сведения о ней можно получить из справочной системы приложения или воспользовавшись окном Просмотр объектов (по команде Вид/Просмотр объектов).

Чтобы использовать свойства или методы объекта, необходимо указать его имя. Однако не во всех случаях требуется явно задать положение объекта в иерархии объектов. Если по контексту ясно, о каком элементе идет речь, можно задать объект, не указывая его принадлежность вышестоящим объектам. Например, объект Selection (выделенный текст документа Word) является свойством объекта Document (документ), но если документ уже известен, то вместо полной ссылки вида Documents(индекс).Selection допустима неявная ссылка – просто Selection.

В программах VBA можно использовать объекты не только основного приложения, но и любого другого, разрешающего доступ к своим средствам и данным с помощью механизма OLE Automation.

Для того чтобы использовать в проекте VBA объекты другого приложения, необходимо добавить проект ссылку на его библиотеку типов. Это можно сделать с помощью диалогового окна Ссылки редактора VBA, доступного по команде Сервис/Ссылки.



 

 



Тема 1. Элементы языка Visual Basic для приложений

План

1.1. Алфавит

1.2. Переменные

1.3. Константы

1.4. Массивы

1.5. Функции

1.6. Выражения

 

 

Алфавит

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

 

Алфавит языка VBA состоит из следующего набора символов:

– прописные и строчные буквы латинского алфавита;

– цифры от 0 до 9;

– знаки арифметических операций: + (плюс), – (минус), * (умножение), / (деление),
\ (целочисленное деление), ^ (возведение в степень);

– знаки операций отношения: < (меньше), > (больше), = (равно), <> (не равно), >= (не меньше), <= (не больше);

– знаки разделители: . (точка) , (запятая) ; (точка с запятой) : (двоеточие) ' (апостроф)
" (кавычки) (пробел) _ (знак подчеркивания);

– круглые скобки: ( – открывающая скобка, ) – закрывающая скобка;

– специальные знаки: ! (восклицательный знак), ? (вопросительный знак)
@ (коммерческое "эт"), % (процент), & (амперсанд или коммерческое "и"), # (диез), $ (знак доллара);

– прописные и строчные буквы других алфавитов (русского, украинского и т.д.);

Переменные

Переменная – именованная область памяти, отведенная для временного хранения данных, которые могут изменяться во время выполнения программы.

В VBA действуют следующие правила именования:

– в имени можно использовать любую комбинацию букв, цифр и символов, но оно должно начинаться с буквы;

– количество символов в имени не должно превышать 255 символов;

– имена не должны включать точек пробелов и следующих символов:

% & ! # @ $

– имена должны быть уникальны внутри той области, где они определены;

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

 

Регистр букв в имени не имеет значения. Одно и тоже имя, написанное в разном регистре, автоматически приводится к одному образцу.

В любой момент времени переменная может иметь только одно значение.

В VBA используются переменные следующих типов:

– числовые;

– строковые;

– логический;

– Дата/Время;

– Объектный;

– Variant – по умолчанию.

Синтаксис описания переменной:

 

Dim ИмяПеременой [As тип]

Static ИмяПеременой [As тип]

Private ИмяПеременой [As тип]

Public ИмяПеременой [As тип]

 

Ключевые слова Dim, Static, Private, Public влияют на область видимости переменной.

 

Числовые типы данных

Числовые типы данных различаются размером и диапазоном допустимых значений. Размер – это количество байтов, которое занимает значение данного типа в памяти. Диапазон допустимых значений определяет наибольшее и наименьшее значение для переменной данного типа.

Тип данных (суфикс) Размер Диапазон допустимых значений
Byte 1 байт от 0 до 255
Integer (%) 2 байта от –32 768 до 32 767
Long (&) 4 байта от –2 147 483 648 до 2 147 483 647
Single (!) 4 байта от –3,402823Е38 до –1,401298Е–45 для отрицательных чисел от 1,401298Е–45 до 3,402823Е38 для положительных чисел
Double (#) 8 байт от –1,79769313486232Е308 до –4,94065645841247Е–324 для отрицательных чисел от 4,94065645841247Е–324 до 1,79769313486232Е308 для положительных чисел
Currency (@) 8 байт от –922 337 203 685 477,5808 до 922 337 203 685 477,5807
Decimal 14 байт +/–79 228 162 514 264 337 593 543 950 335 без десятичной запятой +/– 7,9228162514264337593543950335 с 28 знаками после запятой

Примечание:

Десятичный тип данных Decimal фактически является подтипом типа Variant. Переменные типа Decimal нельзя описывать явно. Их можно использовать только с помощью функции CDec(), которая преобразует тип Variant в тип Decimal.

 

Строковые типы данных

Строковые типы данных используется для хранения строк переменой или фиксированной длины.

Тип данных (суфикс) Размер Максимальная длина
Строка переменной длины String ($) Длина строки плюс 10 байтов ~ 2 млрд символов
Строка фиксированной длины String * число_символов Длина строки ~ 65 400 символов

Логический тип данных

Переменные логического типа данных (Boolean) хранят логические значения True (Истина) или False (Ложь). Кроме того, имеется возможность использовать в логических выражениях числа, или можно преобразовывать числа в значения типа Boolean. При этом значение 0 интерпретируется как False, а любое другое – как True. При обратном преобразовании значение True рассматривается как –1.

 

Тип данных Дата/время

Переменные типа Date являются числами с плавающей точкой двойной точности и могут хранить как дату, так и время. Целая часть такого числа представляет дату, а дробная – время дня. Например, значение 0.5 интерпретируется как 12:00, а 0.75 – как 18:00.

Минимальное значение целой части переменной типа Date равно –647 434, которое интерпретируется как 1 января 100 г. н.э., а максимальное значение – 2 958 465 как 31 декабря 9999 г. н.э. Значение 0 соответствует 30 декабря 1899 г.

При присвоении литерала переменной типа Date требуется использовать символ #. При этом значения можно указать в любом допустимом формате, например, #1 Jul 1994# или #7/1/94#. При использовании только двух последних цифр года, вместо первых двух подставляются цифры текущего столетия.

 

Объектный тип данных

Переменные объектного типа данных представляют собой указатели на объекты. Наиболее общий объектный тип данных – Object. Переменная типа Object может представлять объект любого типа (класса). Кроме того, можно сразу же описывать переменную как принадлежащую определенному классу, например Application (приложение) или Range (диапазон ячеек).

Тип данных Variant

Тип данных Variant применяется по умолчанию: если использовать переменную, не описывая ее или явно не указывая ее тип данных, то эта переменная получит тип данных Variant. Кроме того, можно явно задать тип данных Variant. Переменные типа Variant содержат данные любого типа, исключая строки фиксированной длины и типы, определенные пользователем.

Использование типа данных Variant удобно, так как позволяет упростить обработку данных, однако, этого по возможности следует избегать из соображений рационального использования памяти и повышения производительности программы.

Константы

Константа – это именованный элемент, сохраняющий постоянное значение в течение выполнения программы.

Существует две разновидности констант: встроенные и пользовательские. Встроенные константы VBA предлагаются самой системой и предназначены для хранения различной информации. Для создания пользовательской константы необходимо с помощью оператора Const имени пользовательской константы присвоить литерал.

 

Синтаксис описания константы:

 

Const ИмяКонстанты [As тип] = Литерал

 

Литерал – это простое выражение, определяющие значение некоторого типа не изменяющееся в процессе выполнения программы.

 

Примеры литералов:

 

3.14

-.15326

1Е-4 – экспоненциальная форма записи числа 0,0001

”Это текстовая константа”

#02/04/2007#

 

Примеры пользовательских констант:

 

Const blnFlag as Boollean = False

Const intMaxRow as Integer = 1024

Массивы

 

Наряду с переменными и константами, в качестве объектов обработки могут использоваться массивы.

Массив – упорядоченная последовательность элементов, обращение к каджому из котрых осуществляется по одному имени и индексу (порядковому номеру элемента в последовательности) .

 

Существует две разновидности массивов: статические и динамические.

Статические массивы не могут изменять свой размер во время выполнения программы. Динамические массивы позволяют изменять верхнюю границу массива, т.е. увеличивать или уменьшать размерность массива.

 

 

Функции

 

В VBA поддерживается два вида функций: встроенные, имена которых являются элементами языка, и внешние (пользовательские).

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

 

Пример математических функций:

 

Функция VBA Математическая функция Описание
ATN(x) arctg x Арктангенс
COS(x) cos x Косинус
SIN(x) sin x Синус
TAN(x) tg x Тангенс
EXP(x) ex Экспонента
SQR(x) ln x Натуральный логарифм
TAN(x) Квадратный корень
RND(x)   Датчик случайных чисел
ABS(x) |x| Модуль
FIX(x)   Отсечение дробной части
INT(x) [x] Наибольшое целое число, не превосходящее Х
ROUND(x, a)   Округление числа Х с точностью до А десятичных знаков
SGN(x) Определение знака числа

 

 

Выражения

 

Выражение – это комбинации операндов (переменных, констант, литералов, элементов массивов, функций и свойств объектов), объединенных знаками операций, результатом которых является строка, число или логическое значение. Соответственно типу выражений подразделяются и операции.

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

 

Название операции Знак Пример Результат
Арифметические операции
Возведение в степень ^ 10 ^ 2
Умножение * 10 * 2
Деление / 20.4 / 2 10.2
Целочисленное деление \ 20.4 \ 2
Целый остаток от деления MOD 17 MOD 5
Сложение + 5 + 2
Вычитание - 5 – 2
Символьные операции
Конкатенация & “ЭК” & “-” & “101” “123” & “456” “ЭК-101” “123456”
+ “ЭК” + “-” + “101” “123” + “456” “ЭК-101” “123456”
Операции отношения
Равно = 5 = 6 False
Меньше < 10 < 3 False
Больше > 10 > 3 True
Не равно <> 10 <> 3 True
Больше или равно >= 1 >= -1 True
Меньше или равно <= 10 <= 10 True
Логические операции
Отрицание NOT NOT True False
Логическое И AND True AND False False
Включающее ИЛИ OR True OR False True
Исключающее ИЛИ XOR True XOR True False
Эквивалентность EQV True EQV True True
Импликация IMP True IMP True True

Все вычисления производятся с соблюдением стандартных приоритетов выполнения операций. Если приоритеты операций равны, то вычисления выполняются последовательно – слева направо. Для изменения стандартного приоритета операций используются скобки.

Методы и свойства – атрибуты объектов, которыми управляет программа. Методы – это действия, которые выполняются объектом, а свойства – это атрибуты, описывающие характеристики объекта, значения которых можно получать и устанавливать в программе. Например, выражение Selection.Font указывает на свойство Font (шрифт) выделенного в документе приложения блока текста (объекта Selection).

Ключевое слово – это слово или символ, распознаваемый как элемент программирования, например инструкция, оператор, имя функции, метка в программе, метод или свойство объекта.

Инструкции (или операторы) – это программные единицы, выполняющие действия или описывающие данные.









ЧТО ПРОИСХОДИТ ВО ВЗРОСЛОЙ ЖИЗНИ? Если вы все еще «неправильно» связаны с матерью, вы избегаете отделения и независимого взрослого существования...

Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом...

Что делает отдел по эксплуатации и сопровождению ИС? Отвечает за сохранность данных (расписания копирования, копирование и пр.)...

Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2021 zdamsam.ru Размещенные материалы защищены законодательством РФ.