Назначение

Определяет, относятся ли две объектные переменные к одному и тому же объ­екту.

Возвращает логические значения (True или False).

 

Применение

Обычно в качестве условий в If... Then, хотя их также можно использо­вать в качестве условий цикла Do... Loop, функций Switch.

Синтаксис

Переменная Is коллекция_объектов,

Переменная имеет объектный тип.

 

Функция IsArray

Назначение

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

Возвращает логическое значение (Boolean).

Если переменная является массивом или со­держит массив, возвращается True, в противном случае - False.

Применение

Если переменная явно объявлена как массив, пусть даже динамический, она остается массивом все время своего существования. Основной проблемой являются пере­менные типа Variant, которым можно присвоить все, что угодно, в том числе и массив. После присвоения они ведут себя как обычный массив и к ним можно и нужно применять функции для работы с массивами (например, UBound, LBound). Однако после присвое­ния такой переменной значения, отличного от массива, применение к ней этих функций или просто попытка доступа по индексу к элементу массива вызовет генерацию ошибки времени исполнения. Именно для проверки переменных типа Variant на "массивность" и служит isArray.

 

IsArray (Имя переменной)

Синтаксис

Имя переменной, которая подозревается в том, что она является массивом.

 

 

IsArray обрабатывает данные любого типа без генерации ошибки.

Пример

Проверим, является ли переменная А массивом.

Dim a ‘Тип переменной А не определён, т.е. Variant

Dim test As Boolean

test = IsArray(a) ‘ проверка, является А массивом

MsgBox test ‘Ответ будет равен False

a = Array(8, 56, 7) ‘Определяем А как массив

test = IsArray(a) ‘ проверка, является А массивом

MsgBox test ‘Ответ будет равен True

• IsArray не позволяет выявить массив элементов управления на форме - он всегда возвращает False. Чтобы определить, является ли данный элемент управления мас­сивом, можно воспользоваться тем обстоятельством, что элемент управления, являю­щийся массивом, имеет тип Object, в то время как одиночный элемент специфици­рован.

• Всё это не относится к объектному типу элементов при их перечислении в семействе Controls с помощью For Each... Next, поскольку там переменной-указателю цикла присваиваются значения отдельных элементов массива, а не самого массива.

IsDate (функция)