Назначение
Определяет, относятся ли две объектные переменные к одному и тому же объекту.
Возвращает логические значения (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 (функция)