Глава 18. Работа с файлами на диске.
Глава 18. Работа с файлами на диске.
В этой главе ...
~ Получение доступа к файлу по номеру
~ Выбор режима доступа к файлу
~ Чтение и запись в файлы с использованием не объектно-ориентированных методов
В дополнение к объектно-ориентированным методам работы с файлами данных, описанным в главе 12, VBA предлагает альтернативный метод для чтения и записи данных с дисковых файлов. Эта старая система по-прежнему обладает определенными достоинствами. Хоть вы и не можете работать со свойствами файла и методами, вы получаете более полный контроль над тем, как данные организуются в файле, и над тем, какие данные читаются и записываются. В отличие от объектно-ориентированной файловой системы операторы и функции, описанные здесь, встроены в VBA и не требуют внешних библиотек.
Номер - это ключ.
После того как файл открыт для доступа VBA, обращение к нему осуществляется по номеру, а не по имени. Если приходится работать с несколькими файлами одновременно, отслеживать то, какой файл вам необходим в данный момент, совсем не просто. В принципе, никто не запрещает работать таким образом. Но дальше в данной главе, в разделе "Не идите на поводу у номеров", показан простой способ решения данного вопроса. Для работы с содержимым файла необходимо его открыть. Для этого используется оператор Open (Открыть). Вот его синтаксис в простейшей форме:
Open "pathname" Formode Asfilenumber
А вот пример типичного оператора Open:
Open "С:Мои документьМои данные.dat" For Binary As #1
Оператор использует три аргумента:
* pathname (путь). Полный путь (с указанием диска и каталога), определяющий файл, который должен быть открыт как строчное выражение. При вводе строки текста необходимо заключать ее в кавычки, как это сделано в приведенном выше примере. Вместо этого можно использовать строку переменных, а также любое выражение, значение которого будет правильной строкой VBA.
* mode (режим). Ключ VBA, определяющий то, каким образом вы планируете работать с файлом; подробности - в разделе "Выбор режима доступа к файлу".
* filenumber (номер файла). Аргумент filenumber принимает целочисленное значение от 1 до 511, если оно не было присвоено другому файлу. Традиционно, но не обязательно, в номере перед числом помешают знак #. В дальнейшем присвоение номеров не обязательно, однако при желании это можно делать (можно воспользоваться функцией FreeFile, которая возвращает следующее доступное значение filenumber ).
Оператор Open может принимать еще некоторые опциональные аргументы. Все они здесь не рассматриваются, но в следующем разделе рассмотрен один из них - Len=reclength, необходимый при работе с файлами произвольного доступа.
Выбора режима доступа к файлу
При открытии дискового файла с помощью оператора Open необходимо включить в него аргумент mode. Данный аргумент говорит VBA об организации файла и о том, каким образом планируется осуществлять доступ к информации. Хотя в качестве аргумента mode может быть любое из пяти возможных ключевых слов, в действительности выбор проводится из трех основных режимов. Каждый из режимов имеет свои достоинства и недостатки, описанные ниже.
Режим доступа к файлу в операторе Open
Описание работы
Ключевые слова
Произвольный доступ
Сохраняет данные в записях идентичной длины, так что чтение или запись могут вестись до тех пор, пока известно положение в файле, Запись в режиме произвольного доступа соответствует любому типу данных VBA фиксированной длины или определенному пользователем типу, содержащему исключительно типы данных фиксированной длины
Random
Последовательный
Данные сохраняются в виде серии символов.
Подходит для текстовых файлов, а также для файлов баз данных в кодировке ASCII, использующих разделители-запятые
Input (для чтения данных из файла); Out put (для записи данных в файл); Append (для записи данных в конец файла)
Двоичный
Данные сохраняются в строчной форме, в любом заданном порядке
Binary
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Работа с файлами
Работа с файлами ftp_getПроизводит загрузку с FTP-сервера.Синтаксис:int ftp_get(int ftp_stream, string local_file, string remote_file, int mode)Функция ftp_get() загружает файл под названием remote_file с FTP-сервера и локально сохраняет его под именем local_file. Параметр mode устанавливает режим передачи файла и может
Глава 3 Проводник Windows Vista. Работа с файлами и папками
Глава 3 Проводник Windows Vista. Работа с файлами и папками • Интерфейс Проводника Windows Vista• Навигация по папкам• Представление значков в Проводнике• Поиск• Настройка внешнего вида и параметров Проводника• Операции с файлами и папками• Работа со сменными
14.2 Работа с файлами
14.2 Работа с файлами Начну рассказ наверно с того, что в любой момент времени работы в терминале вы находитесь в некотором каталоге. При запуске терминала текущей директорией является домашний каталог пользователя, но потом вы конечно можете её поменять.Узнать, в какой же
Глава 12 Работа с графическими файлами
Глава 12 Работа с графическими файлами Что делать в тех случаях, когда стандартных объектов и фигур Adobe InDesign для создания оформления нам не хватает? И самое главное: что делать, если нам не нужны кружочки и звездочки, а нужна фотография?В этой ситуации мы с вами должны
Работа с файлами
Работа с файлами С помощью специальной внешней объектной библиотеки VBA позволяет использовать объектно-ориентированный подход при работе с дисковыми файлами, в частности для чтения содержимого каталогов и копирования файлов. Соответствующие приемы программирования
Глава 7 Работа с файлами
Глава 7 Работа с файлами • Создание нового документа• Сохранение документа• Открытие документа• Помещение файла в документ• Навигация по документуВ этой главе мы с вами научимся работать с файлами и документами, создавать, открывать и сохранять файлы программы Adobe
Глава 2 Работа с файлами
Глава 2 Работа с файлами Постановка задачи Разработать программу для работы с файлами. Программа должна предоставлять стандартные функции, используемые при работе с файлами: копирование, перенос,
Работа с MP3-файлами
Работа с MP3-файлами Конвертируя диски в формат MP3, пользователь только первое время будет слушать композиции, сохраненные с пустыми тегами. Долгий поиск необходимой композиции вскоре начнет утомлять, ручное переименование тегов надоест после первых трех
4.2. Работа с файлами
4.2. Работа с файлами 4.2.1. Знакомство с Проводником Проводник — это файловый менеджер Windows, то есть программа, управляющая вашими файлами. Вообще-то Проводник также является оболочкой Windows, но не будем усложняться, а ограничимся лишь файловыми функциями
Глава 6 Работа с файлами и каталогами
Глава 6 Работа с файлами и каталогами ? Что нужно знать о файлах?? Каталоги.? Создание, копирование и перемещение файлов и
Работа с файлами
Работа с файлами Предположим, что мы создали какой-то документ Flash и теперь хотим сохранить его в файле. Что нужно делать в этом случае?Чтобы сохранить открытый в активном окне документ в файле документа Flash, достаточно выбрать пункт Save в меню File или нажать комбинацию
Глава 11 Работа с файлами и папками
Глава 11 Работа с файлами и папками • Навигация по файлам и папкам• Операции с файлами и папкамиФайлы – это логическое представление информации, хранящейся в вашем компьютере, а также на всех внешних носителях (дискетах, компакт-дисках, flash-картах и т. д.). Физически все
Работа с файлами
Работа с файлами Один элемент работы с файлами мы уже рассмотрели – это создание файла. Следующий важный элемент работы с файлом – это открытие файла.Действительно, создав файл и сохранив в нем информацию, мы все это сделали для того, чтобы иметь возможность продолжить
Практическая работа 14. Работа с файлами и папками
Практическая работа 14. Работа с файлами и папками Задание. Научиться создавать папки, копировать, перемещать, переименовывать и удалять файлы.Последовательность выполнения1. Откройте с помощью меню Пуск папку Документы.2. В папке Документы создайте новую папку с именем