Excel. Трюки и эффекты. Алексей Гладкий

Читать онлайн книгу.

Excel. Трюки и эффекты - Алексей Гладкий


Скачать книгу
файлов

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

      В VBA для закрытия файлов предусмотрены две инструкции: Reset и Close. Формат этих инструкций следующий:

      Reset

      Close [[#]Десктиптор [, [#]Дескриптор]...]

      Инструкция Reset закрывает все файлы, открытые ранее с помощью инструкции Open. Инструкция Close закрывает только файлы с указанными дескрипторами, например:

      Close 1, #3, hFile

      Если при использовании инструкции Close дескрипторы закрываемых файлов не указаны, то она закрывает все открытые ранее файлы.

      Чтение из файлов и запись в файлы

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

Инструкции последовательного доступа

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

Таблица 1.11. Инструкции последовательного доступа к файлу

      Ниже приведен пример использования данной функции для считывания из файла первых 10 символов:

      Sub WriteToFile()

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

      ' Запись данных в файл

      Write #1, «Значение», «Value», 154.32

      Print #1, «Слово1», «Слово2», 14.28464

      Close 1

      End Sub

      Далее целесообразно привести пример процедуры, в которой осуществляется чтение записанных данных из файла:

      Sub ReadFromFile()

      Dim strVal1, strVal2, dblNumber

      Dim strString

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

      ' Чтение данных из файла

      Input #1, strVal1, strVal2, dblNumber

      Line Input #1, strString

      Close 1

      End Sub

      Кроме приведенных в табл. 1.11 инструкций, в VBA имеется встроенная функция Input, позволяющая считывать из файла заданное количество символов:

      Input(Количество_символов, [#]Дескриптор)

      Ниже приведен пример использования данной функции для считывания из файла первых 10 символов:

      Sub TestInput()

      Dim strText As String

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

      " Чтение из файла первых 10 символов

      strText = input(10, 1)

      Close 1

      End Sub

Инструкции произвольного доступа

      При произвольном (Random) доступе файл представляется как совокупность записей, имеющих постоянную длину. Именно запись при данном типе доступа является элементарной единицей информации, которую можно считывать из файла или записывать в файл. Каждая запись имеет свой номер (нумерация начинается с единицы). Для работы с файлами при использовании произвольного доступа в VBA реализованы инструкции Put и Get для записи и чтения информации:

      Put [#]Дескриптор, [Номер_записи], Переменная

      Get


Скачать книгу