Excel. Трюки и эффекты | страница 34



Примечание

Инструкция TypeOf работает только для ссылок, имеющих значение, отличное от Nothing. Если в качестве параметра Идентификатор_типа используется Object, то результатом выполнения инструкции будет значение True независимо от типа объекта, на который указывает ссылка.

Преобразование типов

Чтобы типы можно было преобразовывать во время выполнения программы, в VBA предусмотрены специальные функции – функции преобразования типов данных. Все они принимают в качестве аргумента значение типа Variant и возвращают значение соответствующего типа. Ниже приведен формат функций преобразования типов данных:

CBool(Выражение)

CByte(Выражение)

CCur(Выражение)

CDate(Выражение)

CDbl(Выражение)

CDec(Выражение)

CInt(Выражение)

CLng(Выражение)

CSng(Выражение)

CStr(Выражение)

CVar(Выражение)

Далее приведены примеры использования этих функций (переменная varRes имеет тип Variant, а переменная strRes – тип String):

varRes = CDec(12.4635246) / CDec(3.14169265359)

strRes = CStr(12.3535)

В результате выполнения приведенных инструкций переменная varRes будет содержать значение типа Decimal (использование функции CDec – это единственный способ оперировать с типом данных Decimal), а в переменную strRes будет записано значение «12.3535».

Примечание

При использовании функции CBool необходимо помнить, что к значению True преобразуется любое значение аргумента, не равное нулю. Передавать в функцию CBool разрешается только численные значения. Интересным образом также ведут себя инструкции преобразования к целочисленным типам Clnt, CLng и CByte при наличии дробной части в аргументе. Эти функции округляют дробное число до ближайшего целого четного числа.

Файловый ввод/вывод

Язык VBA поддерживает некоторые возможности для организации файлового ввода/вывода, рассмотрению которых посвящается данный раздел.

Открытие файлов

Для открытия файла в VBA существует специальная инструкция Open, формат которой приведен ниже:

Open Имя_файла For Тип_доступа [Access Режим_доступа] [Блокировка] _

As [#]Дескриптор [Len=Длина_записи]

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

Таблица 1.10. Элементы инструкции Open

Ниже приведены примеры инструкций открытия файла D:\MyTextFile.txt для произвольного доступа, для последовательного чтения и записи:

Open «D:\MyTextFile.txt» For Random Access Read Write As 1 Len = 100

Open «D:\MyTextFile.txt» For Input As 2

Open «D:\MyTextFile.txt» For Output As 3

Дескрипторы файлов. Функция FreeFile