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

Читать онлайн книгу Excel. Трюки и эффекты - Алексей Гладкий страница 22

СКАЧАТЬ = FreeFile ' Получение дескриптора для файла

      ' Открытие файла

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

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

      После того как с открытым с помощью инструкции 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) доступе файл представляется СКАЧАТЬ