Режим доступа к файлу в операторе Open

Описание работы

Ключевые слова

Произвольный доступ

Сохраняет данные в записях идентичной длины, так что чтение или запись могут вестись до тех пор, пока известно положение в файле, Запись в режиме произвольного доступа соответствует любому типу данных VBA фиксированной длины или определенному пользователем типу, содержащему исключительно типы данных фиксированной длины

Random

Последовательный

Данные сохраняются в виде серии символов.

Подходит для текстовых файлов, а также для файлов баз данных в кодировке ASCII, использующих разделители-запятые

Input (для чтения данных из файла); Out put (для записи данных в файл); Append (для записи данных в конец файла)

Двоичный

Данные сохраняются в строчной форме, в любом заданном порядке

Binary

<p>Не идите на поводу у номеров</p>

Хотя в VBA рекомендуется обращаться к открытым файлам по номеру, запоминать то, с чем связаны какие-то числа, достаточно трудно и неудобно. Вместо номеров файлов можно использовать константы или переменные с понятным названием. Если наперед известен номер, который будет использоваться для отдельного файла, объявите для него константу. Данную константу затем можно использовать в операторе, воздействующем на файл. Вот пример:

Const PetsFile = 1, BdayFile = 2

Open "C:\MiscData\PetsLog.txt" For Input As PetsFile

Open "C:\MiscData\Birthdays.txt" For Random As BdayFile

Input #PetsFile, strPetlnfo ‘ чтение одного элемента из файла

Close PetsFile

Put BdayFile, 45, usrBDay ' запись одного элемента в файл

CloseBdayFile

Применяйте данный прием без опасения: вместо того чтобы собственноручно присваивать файлам номера, используйте функцию FreeFile, определяющую следующий доступный номер файла. Если значение, возвращаемое функцией, присвоить переменной, необходимость в запоминании номера просто отпадет. Вот пример применения данного приема: Dim DiaryFile As Integer DiaryFile = FreeFile () Open

"C:\MySecrets\Diary.txt" For Input As DiaryFile

<p>Закрытие открытых файлов</p>

Будьте аккуратными - после того как работа с файлами завершена, их следует закрыть.

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

Для выполнения подобной задачи нужен, конечно же, оператор Close. Для закрытия определенного файла используется оператор вроде Close #2 (или Close PetsFile, как в предыдущем примере). Для закрытия всех открытых файлов оператор Close используется сам по себе.

<p>Чтение и запись данных</p>

Есть несколько VBA-команд для записи и извлечения данных из файла. В приведенной ниже таблице описана их работа.

Перейти на страницу:

Все книги серии Для чайников

Похожие книги