Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алфавит VBA_форматировать.doc
Скачиваний:
4
Добавлен:
22.08.2019
Размер:
50.69 Кб
Скачать

4.5. Тип данных Object

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

Объекты, доступные из VBA, существуют, пока на них установлена хотя бы одна ссылка. Первая ссылка на объект устанавливается при его создании. В процессе работы можно как устанавливать новые ссылки на объект, так и удалять их с использованием специальной инструкции Set. Пусть objRef  ссылка на некоторый объект. Тогда операция установления новой ссылки будет иметь такой вид:

Set objNewRef = objRef

Теперь objNewRef ссылается на тот же объект, что и objRef. Для доступа к объектам в VBA предусмотрен тип данных Object. Он является универсальным, так как может быть ссылкой на объект любого типа. Данный тип предназначен для хранения адресов памяти. По этим адресам могут храниться стандартные объекты из приложений Microsoft Office или созданные пользователем. Тип данных Object  класс объектов, которые могут принимать значения из множества всевозможных адресов памяти машины. Для переменных типа Object существует специальное значение Nothing. Оно указывает, что переменная типа Object содержит адрес, по которому не существует конкретного объекта.

4.6. Тип данных Variant

Тип данных Variant  множество объектов, которые могут принимать значения из любых выше перечисленных типов данных. Данные типа Variant принимают свойства типа в соответствии с типом той информации, которая в них заносится. Так, если ввести строку, то данные будут обладать свойствами типа String, если ввести целое число, то данные будут обладать свойствами типа Integer. Таким образом, операции для данных типа Variant возможны все те, которые определены для типа той информации, которая в данный момент занесена в них.

4.7. Перечислимый тип данных

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

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

[PrivatePublic] Enum nameType

I1 [ = L1 ]

I2 [ = L2 ]

………...

Ik [ = Lk ]

End Enum

где:

• nameType  имя типа, задаваемое пользователем;

• I1, I2,…., Ik  идентификаторы, определяющие имена для элементов, которые принадлежат данному перечислимому типу;

• L1, L2,…., Lk  значения типа Long (целые числа), задающее значение для соответствующего элемента. По умолчанию первый элемент (I1) будет иметь значение 0, а каждый последующий на единицу больше;

• Private, Public, Enum, End Enum  ключевые слова.

Enum и End Enum являются обязательными в данной конструкции и обозначают соответственно начало и конец описания перечислимого типа.

Приведем пример на перечислимый тип, а именно дни недели.

Option Explicit Опция редактора, требующая, чтобы все переменные были описаны

Private Enum Week

Sunday I1

Monday I2

Tuesday I3

Wednesday I4

Fryday I5

Saturday I6

End Enum

Sub TypeEnum ()

Dim weekDay As Week переменная weekDay объявлена как пеweekDay = Fryday переменная перечислимого типа Week

MsgBox weekDay

End Sub

В результате работы этой программы в окне сообщения будет выведено число 4, так как первый элемент Sunday имеет значение 0.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]