Как открыть файл vba

от admin

Работа с файлами и каталогами

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

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

Прежде чем работать с файлом, необходимо создать объект файла с помощью инструкции Open . Инструкция имеет следующий формат:

В параметре <Имя файла> указывается путь к файлу. Путь может быть абсолютным или относительным. При указании относительного пути путь определяется с учетом местоположения текущего рабочего каталога, возвращаемого функцией CurDir() , а также текущего диска (сменить текущий диск позволяет процедура ChDrive() ). Чтобы получить путь к папке, в которой находится файл с рабочей книгой, в Excel можно воспользоваться свойством Path объекта ThisWorkbook . Пример создания файла:

Параметр <Режим> может принимать следующие значения:

  • Input — чтение в последовательном режиме. Если файл не существует, то генерируется ошибка;
  • Output — запись в последовательном режиме. Если файл не существует, то он будет создан. Если файл существует, то он будет перезаписан;
  • Append — запись в последовательном режиме. Если файл не существует, то он будет создан. Запись осуществляется в конец файла. Содержимое файла не удаляется;
  • Random — чтение и запись в произвольном режиме. Если файл не существует, то он будет создан. Содержимое файла не удаляется;
  • Binary — чтение и запись в бинарном режиме. Если файл не существует, то он будет создан. Содержимое файла не удаляется.

Параметр <Доступ> задает тип операции с открываемым файлом. Допустимые значения:

  • Read — только чтение;
  • Write — только запись;
  • Read Write — чтение и запись.

Необязательный параметр <Блокировка> может принимать следующие значения:

  • Shared — другой процесс может читать из файла и писать в файл;
  • Lock Read — другой процесс не сможет читать из файла;
  • Lock Write — другой процесс не сможет писать в файл;
  • Lock Read Write — другой процесс не сможет читать из файла и писать в файл.

Параметр <Дескриптор> позволяет указать уникальный целочисленный номер файла в диапазоне от 1 до 511 . Перед номером может быть добавлен символ # . Сгенерировать свободный уникальный номер позволяет функция FreeFile([<Значение>]) . Если в параметре <Значение> задано значение 0 , или параметр не указан, то генерируется число в диапазоне от 1 до 255 , а если значение 1 — то генерируется число в диапазоне от 256 до 511 . Пример использования функции FreeFile() :

В необязательном параметре <Длина> указывается целое число до 32 767 . При использовании произвольного режима значение задает длину записи, а при использовании последовательного режима — размер буфера. Значение игнорируется в бинарном режиме.

Для закрытия файла используется инструкция Close . Формат инструкции:

Инструкция закрывает файлы, дескрипторы которых перечислены через запятую. Если дескрипторы не указаны, то закрываются все открытые файлы. При завершении программы все открытые файлы автоматически закрываются.

Файлы могут быть открыты в трех режимах: последовательном, произвольном и бинарном. Рассмотрим эти режимы подробно.

Чтение и запись в последовательном режиме

Последовательный режим применяется при указании значений Input , Output и Append после ключевого слова For в инструкции Open . Запись в файл производится с помощью инструкции Write . Формат инструкции:

В параметре <Дескриптор> указывается номер файла, который использовался при открытии файла. В параметре <Значения> задаются записываемые значения через запятую, точку с запятой или через пробел (эквивалентно указанию точки с запятой). Если точка с запятой указывается в конце инструкции Write , то следующее выводимое значение будет вставляться на одной строке с предыдущим выводом через запятую, а не на новой строке. Если параметр <Значения> не указан, то вставляется пустая строка. Значения записываются в файл в следующих форматах:

  • строки внутри двойных кавычек. Обратите внимание на то, что записываемая строка не должна содержать двойных кавычек, иначе при считывании строка будет разбита на несколько подстрок;
  • вещественные числа с разделителем в виде точки;
  • дата и время в универсальном формате;
  • логические значения True и False в виде #TRUE# и #FALSE# соответственно;
  • значение Null в виде #NULL# .

Пример записи в файл:

Чтение из файла производится с помощью инструкции Input . Формат инструкции:

В параметре <Дескриптор> указывается номер файла, который использовался при открытии файла. Во втором параметре задается список переменных, в которых сохранятся считываемые значения. Например, считать данные, записанные в предыдущем примере, можно следующим образом:

Обратите внимание на четвертую инструкцию. Ранее мы записывали строку, в состав которой входит двойная кавычка. При считывании одна строка разбивается на две подстроки. В результате переменная v2 будет иметь значение "При" , а переменная v3 — значение "мер" .

Для записи в файл можно воспользоваться также инструкцией Print . Формат инструкции:

В параметре <Дескриптор> указывается номер файла, который использовался при открытии файла. В параметре <Значения> задаются записываемые значения через запятую, точку с запятой или через пробел (эквивалентно указанию точки с запятой). Если указывается запятая, то следующее значение выводится в начале следующей зоны (по умолчанию начало зоны расположено в каждом 14-ом столбце), а если точка с запятой — то следующее значение выводится сразу после предыдущего:

Если точка с запятой указывается в конце инструкции Print , то следующее выводимое значение будет вставляться на одной строке с предыдущим выводом, а не на новой строке. Если параметр <Значения> не указан, то вставляется пустая строка. Значения записываются в файл в следующих форматах:

  • строки без двойных кавычек;
  • вещественные числа с разделителем в виде запятой;
  • дата и время в коротком формате;
  • логические значения True и False в виде строк True и False соответственно;
  • значение Null в виде строки Null .

Пример записи в файл:

Второй параметр может содержать следующие функции:

  • Spc(<Количество>) — позволяет вставить указанное количество пробелов. Пример:
  • Tab[(<Количество>)] — если функция указывается без параметра, то происходит переход в начало следующей зоны (эквивалентно вставке запятой между значениями):

Параметр <Количество> задает номер столбца, с которого начинается вывод:

Прочитать файл, записанный с помощью инструкции Print , позволяет инструкция Line Input . Чтение производится построчно при каждом вызове инструкции. Формат инструкции:

Прочитаем две строки из записанного ранее файла:

Чтобы прочитать все строки из файла следует воспользоваться функцией EOF(<Дескриптор>) . Функция возвращает значение True , если был достигнут конец файла, и False — в противном случае. Вывести все строки из файла позволяет следующий код:

Инструкция Width позволяет указать предпочитаемую ширину строки. Формат инструкции:

Параметр <Ширина> может содержать значения в диапазоне от 0 до 255 . Если указано значение 0 , то ширина не ограничена. Если длина строки больше указанного значения, то значение игнорируется и строка выводится полностью. Пример указания ширины, равной трем символам:

Для чтения файла можно также воспользоваться функцией Input(<Количество символов>, [#]<Дескриптор>) , которая читает из файла указанное количество символов и возвращает их. Пример:

Чтение и запись в произвольном режиме

Произвольный режим применяется при указании значения Random после ключевого слова For в инструкции Open . Длина записи в произвольном режиме является фиксированной и задается с помощью параметра <Длина> (целое число до 32 767 ) в инструкции Open . При чтении и записи длина должна быть указана одинаковой. Запись в файл производится с помощью инструкции Put . Формат инструкции:

В параметре <Дескриптор> указывается номер файла, который использовался при открытии файла. В параметре <Позиция> задается номер позиции (нумерация начинается с 1 ) в которую производится запись. Если параметр не указан, то запись производится в следующую позицию после текущей позиции. Параметр <Значение> задает записываемое значение. Если длина значения больше длины, указанной в параметре <Длина> , то генерируется ошибка. Если производится запись строки произвольной длины, то значение в параметре <Длина> должно быть на 2 байта больше фактической длины строки. Пример записи в файл:

Чтение файла производится с помощью инструкции Get . Формат инструкции:

В параметре <Дескриптор> указывается номер файла, который использовался при открытии файла. В параметре <Позиция> задается номер позиции (нумерация начинается с 1 ) из которой производится чтение. Если параметр не указан, то читаются данные из следующей позиции после текущей позиции. Пример:

Чтение и запись в бинарном режиме

Бинарный режим применяется при указании значения Binary после ключевого слова For в инструкции Open . Длина записи в бинарном режиме является фиксированной и равна одному байту. Если указано значение в параметре <Длина> , то это значение игнорируется.

Чтение и запись в бинарном режиме осуществляется точно также, как и при использовании произвольного режима. Прочитать данные из файла позволяет инструкция Get , а записать данные инструкция Put . В параметре <Позиция> в этих инструкциях указывается порядковый номер байта.

Пример записи строки в файл:

Пример чтения строки из файла:

В этом примере мы воспользовались функцией LOF(<Дескриптор>) , которая позволяет получить длину файла в байтах. Чтобы считать данные из бинарного файла в строковую переменную необходимо в переменной создать строку такого же размера. В данном случае мы с помощью функции Space() создаем строку из такого же количества символов, что и размер файла. Обратите внимание на то, что использовать функцию EOF() в бинарном режиме нельзя, так как она всегда возвращает значение False .

Для чтения бинарного файла можно также воспользоваться следующими функциями:

  • Input(<Количество символов>, [#]<Дескриптор>) — читает из файла указанное количество символов и возвращает их;
  • InputB(<Количество байтов>, [#]<Дескриптор>) — читает из файла указанное количество байтов и возвращает их.

Запишем строку в бинарный файл, а затем считаем ее с помощью функции Input() :

Перемещение указателя внутри файла

Каждый открытый файл поддерживает указатель на текущую позицию в файле. Для перемещения и манипулирования позицией указателя внутри файла используются следующие функции и процедуры:

  • Loc(<Дескриптор>) — в произвольном режиме возвращает номер текущей позиции, а в бинарном режиме — номер текущего байта. Первый байт имеет позицию 0 ;
  • Seek(<Дескриптор>) — в произвольном режиме возвращает номер текущей позиции, а в бинарном режиме — номер текущего байта. Первый байт имеет позицию 1 ;
  • Seek [#]<Дескриптор>, <Позиция> — устанавливает указатель в позицию <Позиция> . Первый байт имеет позицию 1 . Если указано значение меньше 1 , то генерируется ошибка. Если значение превышает количество байтов в файле, то файл увеличивается до указанной позиции;
  • LOF(<Дескриптор>) — возвращает длину файла в байтах.

Запишем строку в файл в бинарном режиме, а затем переместим указатель в начало файла и считаем содержимое файла посимвольно в строку (листинг 12.1).

Листинг 12.1. Перемещение указателя внутри файла

Чтение и запись файлов в кодировке UTF-16

Все строки, которые мы записывали ранее, сохранялись в файле в кодировке, принятой в системе по умолчанию. В моем случае в кодировке Windows-1251. Если необходимо записать данные в кодировке UTF-16 или прочитать данные, то можно воспользоваться функцией StrConv() (см. разд. 6.8) для преобразования кодировки. В качестве примера запишем данные в фай, а затем прочитаем и выведем их (листинг 12.3).

Листинг 12.2. Чтение и запись файлов в кодировке UTF-16

Обратите внимание на инструкцию

Комбинация символов с кодами 255 и 254 является меткой порядка байтов (сокращенно BOM (Byte Order Mark)). Эта метка является обязательной для кодировки UTF-16. При чтении данных мы пропускаем их и начинаем чтение с позиции 3 .

Чтение и запись файлов в кодировке UTF-8

Работа с файлами в кодировке UTF-8 выполняется сложнее. В этом случае необходимо воспользоваться функциями MultiByteToWideChar() и WideCharToMultiByte() , входящими в состав Win32 API. Чтобы это стало возможным, нужно в самом начале модуля вставить следующий код:

Далее создадим две функции: ToUtf8() (для преобразования строки в кодировку UTF-8) и FromUtf8() (для преобразования кодировки UTF-8 в Unicode):

Теперь мы можем пользоваться этими функциями для чтения и записи файлов в кодировке UTF-8:

Статьи по Visual Basic for Applications (VBA)

Помощь сайту

Yandex-деньги: 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов

Расширение файла VBA

VBA — это расширение файла, обычно связанное с файлами Visual Basic VBA Module. Microsoft Corporation определил стандарт формата Visual Basic VBA Module. VBA файлы поддерживаются программными приложениями, доступными для устройств под управлением Windows. Файлы с расширением VBA классифицируются как Другие файлы файлы. Подмножество Другие файлы содержит #NUMEXTENSIONS # различных форматов файлов. Пользователям рекомендуется использовать Microsoft Visual Basic программное обеспечение для управления VBA файлами, хотя 1 другие программы также могут обрабатывать этот тип файлов. Программное обеспечение с именем Microsoft Visual Basic было создано Microsoft Corporation. Чтобы найти более подробную информацию о программном обеспечении и VBA файлах, посетите официальный сайт разработчика.

Читать:
Проверка что строка состоит из цифр python
Программы, которые поддерживают VBA расширение файла

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

Программы, обслуживающие файл VBA

WindowsWindows

Как открыть файл VBA?

Проблемы с доступом к VBA могут быть вызваны разными причинами. Что важно, все распространенные проблемы, связанные с файлами с расширением VBA, могут решать сами пользователи. Процесс быстрый и не требует участия ИТ-специалиста. Ниже приведен список рекомендаций, которые помогут вам выявить и решить проблемы, связанные с файлами.

Шаг 1. Скачайте и установите Microsoft Visual Basic

Install software to open VBA fileНаиболее распространенной причиной таких проблем является отсутствие соответствующих приложений, поддерживающих файлы VBA, установленные в системе. Этот легкий. Выберите Microsoft Visual Basic или одну из рекомендованных программ (например, Microsoft Visual Studio) и загрузите ее из соответствующего источника и установите в своей системе. Выше вы найдете полный список программ, которые поддерживают VBA файлы, классифицированные в соответствии с системными платформами, для которых они доступны. Одним из наиболее безопасных способов загрузки программного обеспечения является использование ссылок официальных дистрибьюторов. Посетите сайт Microsoft Visual Basic и загрузите установщик.

Шаг 2. Проверьте версию Microsoft Visual Basic и обновите при необходимости

Update software that support file extension VBAЕсли у вас уже установлен Microsoft Visual Basic в ваших системах и файлы VBA по-прежнему не открываются должным образом, проверьте, установлена ли у вас последняя версия программного обеспечения. Может также случиться, что создатели программного обеспечения, обновляя свои приложения, добавляют совместимость с другими, более новыми форматами файлов. Это может быть одной из причин, по которой VBA файлы не совместимы с Microsoft Visual Basic. Все форматы файлов, которые прекрасно обрабатывались предыдущими версиями данной программы, также должны быть открыты с помощью Microsoft Visual Basic.

Шаг 3. Свяжите файлы Visual Basic VBA Module с Microsoft Visual Basic

Если у вас установлена последняя версия Microsoft Visual Basic и проблема сохраняется, выберите ее в качестве программы по умолчанию, которая будет использоваться для управления VBA на вашем устройстве. Метод довольно прост и мало меняется в разных операционных системах.

Associate software with VBA file on Windows

Изменить приложение по умолчанию в Windows

  • Нажатие правой кнопки мыши на VBA откроет меню, из которого вы должны выбрать опцию Открыть с помощью
  • Выберите Выбрать другое приложение → Еще приложения
  • Чтобы завершить процесс, выберите Найти другое приложение на этом. и с помощью проводника выберите папку Microsoft Visual Basic. Подтвердите, Всегда использовать это приложение для открытия VBA файлы и нажав кнопку OK .

Изменить приложение по умолчанию в Mac OS

  • В раскрывающемся меню, нажав на файл с расширением VBA, выберите Информация
  • Перейдите к разделу Открыть с помощью . Если он закрыт, щелкните заголовок, чтобы получить доступ к доступным параметрам.
  • Выберите Microsoft Visual Basic и нажмите Изменить для всех .
  • Если вы выполнили предыдущие шаги, должно появиться сообщение: Это изменение будет применено ко всем файлам с расширением VBA. Затем нажмите кнопку Вперед» , чтобы завершить процесс.
Шаг 4. Убедитесь, что файл VBA заполнен и не содержит ошибок

Если проблема по-прежнему возникает после выполнения шагов 1-3, проверьте, является ли файл VBA действительным. Отсутствие доступа к файлу может быть связано с различными проблемами.

Check VBA file for viruses

1. Проверьте VBA файл на наличие вирусов или вредоносных программ.

Если файл заражен, вредоносная программа, находящаяся в файле VBA, препятствует попыткам открыть его. Немедленно просканируйте файл с помощью антивирусного инструмента или просмотрите всю систему, чтобы убедиться, что вся система безопасна. VBA файл инфицирован вредоносным ПО? Следуйте инструкциям антивирусного программного обеспечения.

2. Убедитесь, что структура файла VBA не повреждена

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

3. Убедитесь, что у вас есть соответствующие права доступа

Иногда для доступа к файлам пользователю необходимы права администратора. Войдите в систему, используя учетную запись администратора, и посмотрите, решит ли это проблему.

4. Убедитесь, что ваше устройство соответствует требованиям для возможности открытия Microsoft Visual Basic

Если система перегружена, она может не справиться с программой, которую вы используете для открытия файлов с расширением VBA. В этом случае закройте другие приложения.

5. Убедитесь, что ваша операционная система и драйверы обновлены

Последние версии программ и драйверов могут помочь вам решить проблемы с файлами Visual Basic VBA Module и обеспечить безопасность вашего устройства и операционной системы. Возможно, файлы VBA работают правильно с обновленным программным обеспечением, которое устраняет некоторые системные ошибки.

Вы хотите помочь?

Если у Вас есть дополнительная информация о расширение файла VBA мы будем признательны, если Вы поделитесь ею с пользователями нашего сайта. Воспользуйтесь формуляром, находящимся здесь и отправьте нам свою информацию о файле VBA.

Что такое расширение файла VBA?

Файлы VBA связаны с один типом (-ами) файлов, и их можно просматривать с помощью Microsoft Visual Studio, разработанного Microsoft Corporation. В целом, этот формат связан с два существующим (-и) прикладным (-и) программным (-и) средством (-ами). Обычно они имеют формат Visual Basic For Applications Project. В большинстве случаев эти файлы относятся к Developer Files.

Файлы VBA можно просматривать с помощью операционной системы Windows. Они обычно находятся на настольных компьютерах (и ряде мобильных устройств) и позволяют просматривать и иногда редактировать эти файлы. Рейтинг популярности данных файлов составляет «Низкий» и они обычно не используются.

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

Как открыть файл vba

Основы работы с файлами

Function fun_Txt_Write(ByVal s As String)

Open ThisWorkbook.Path & "\LastDateMail.txt" For Output As #1

Function fun_Txt_Read() As String

Dim s As String

Open ThisWorkbook.Path & "\LastDateMail.txt" For Input As #1

Line Input #1, fun_Txt_Read

‘ Loop Until EOF(1)

fun_Txt_Read = Mid(fun_Txt_Read, 2, Len(fun_Txt_Read) — 2)

По виду доступа файлы можно разделить на:

1) последовательного доступа( текстовые);

2) прямого (произвольного) доступа( типизированные);

Последовательность действий при записи / чтении файлов любого доступа:

1) открыть файл для чтения или записи ( зависит от типа файла)

2) чтение / запись( зависит от типа файла)

Закрыть файл любого доступа:

Close # <числовой идентификатор>

Файлы последовательного доступа (текстовые):

1) представляют последовательность символов, следовательно при открытии файла из текстового редактора (блокнот, wordpad, word) можно видеть значения, которые туда записаны;

2) данные могут иметь некоторую структуру, организованную разделителями; это зависит от использования формата при выводе (вывод может быть форматным и бесформатным);

структурная единица такого файла – обычно строка;

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

4) можно писать данные любых типов, при записи они преобразуются к строковому типу; читать можно данные любого типа, при чтении они из строкового преобразуются к нужному типу (если это возможно)

Команды для работы с файлами последовательного доступа:

  • открывает файл для чтения:

Open “<имяФайла>” For Input [тип блокировки] As # <числовой идентификатор>

  • открывает файл для записи:

Open “имяФайла” For Output [тип блокировки] As # <числовой идентификатор>

  • открывает существующий файл для добавления (то есть открывает файл для записи и ставит курсор в конец файла).

Open “имяФайла” For Append [тип блокировки] As # <числовой идентификатор>

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

1) shared – общий доступ

2) lock read – блокировка чтения

3) lock write – блокировка записи

4) lock read write – блокировка чтения и записи

Записать данные в файл:

  • бесформатный вывод в файл:

Write # <числовой идентификатор>, список вывода

  • ‘ форматный вывод в файл, форматы basic используются в списке вывода; писать в файл после установки указателя можно только этой командой:

Print # <числовой идентификатор>, список вывода

Читать данные из файла:

  • чтение из файла с безформатной записью данных:

Input # <числовой идентификатор>, <список переменных>

  • чтение из файла с форматной записью данных:

Line Input # <числовой идентификатор>, <список переменных>

Установить указатель на заданную позицию:

Seek # <числовой идентификатор>, <номерСимвола> -после этой команды чтение будут производиться с позиции <номерСимвола> по строкам, запись затирает старый файл.

Создайте в файле с лабораторными работами новый модуль. Наберите текст макроса, который реализует запись в текстовый файл в форматированном и неформатированном виде.

Dim v_i As Integer

Dim v_s As String * 25

Dim v_b As Boolean

Open "test1.txt" For Output As #1

Write #1, “12345 — Ïðèìåð; ”

Write #1, v_i; v_b; v_s

Print #1, v_i; v_b; v_s

Print #1, 333444555

Результат (файл test1.txt после записи):

Рис 1 – файл test1.txt

Наберите текст макроса, который реализует считывание из файла test1.txt с использованием Input Line (считывается целыми строками) и Input (считывается по формату данных).

Для проверки конца файла использован EOF(< числовой идентификатор файла >) . Если EOF(числовой идентификатор файла)=true, значит, достигнут конец файла.

Каждая прочитанная строка из файла test1.txt переписывается test2.txt

Open “g:\vba\test1.txt” For Input As #1

Open “g:\vba\test2.txt” For Output As #2

Dim t As String

Loop Until EOF(1)

Print #2, “___________”

Loop Until EOF(1)

Рис.2 – Результаты считывания из файла test1.txt в файл test2.txt

Файлы прямого (произвольного доступа) доступа :

1) могут содержать данные только одного типа;

2) файл разбит на записи определённой длины, которая определяется типом записываемых данных; каждая запись имеет номер;

3) данные можно читать в любом порядке,

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

5) в файл прямого доступа можно писать массив значений и диапазон ячеек сразу за одну операцию, но . длина массива (диапазона) не должна превышать 32 167 байт .

6) чтобы записать новые данные в конец файла, надо открыть его для записи и установить указатель на последнюю запись.

7) одна команда открывает для чтения и записи., то есть можно читать из файла и записывать в файл открытый одной командой ;

Команды для работы с файлами прямого доступа:

Открыть файл (и для чтения и для записи) :

Open “<имя файла>” For Random As # <числовой идентификатор> Len = Len (<имяПеременной>)

Записать данные в файл:

Put # <числовой идентификатор>, <номерЗаписи>, <переменная> – Записывает переменную в файл в позицию с указанным номером. Начальная позиция -1.

Читать данные из файла:

Get # <числовой идентификатор>, <номерПозиции>, <имяПеременной> – читает запись с указанной позиции в переменную.

Установить указатель на нужную запись в файле:

Seek # <числовой идентификатор>, номер записи ‘после этого запись будет производиться в конец файла.

Пример3: Создать файл, содержащий сведения о студентах (ФИО и дата рождения). Сохранить данные в файле «students». Файл будет из блоков по 33 байта (размер записи Student). Запись поблочная.

Первоначально следует определить тип пользователя в самом начале модуля:

Name As String * 30

Пример4: Написать программу для считывания записей из файла «students»… Переписать данные их типизированного файла в текстовый о тех студентах, возраст которых больше 20 лет.

Dim T As Student

Open “g:\vba\student.txt” For Output As #2

Open “g:\vba\students” For Random As #1 Len = Len(T)

If 2012 – T.b_d > 20 Then Print #2, T.Name & “ “; T.b_d

Loop Until EOF(1)

Особенности работы с файлами:

1) необходимо соблюдать строгое соответствие между командами записи и чтения:

2) номер после знака «#» в операторах открытия, чтения / записи и закрытия файла должен быть одинаковым при работе с одним файлом;

1) просто последовательность байтов или блоков байтов;

2) одна команда открывает для чтения и записи.;

Команды для работы с файлами прямого доступа:

Открыть файл (и для чтения и для записи) :

Open “<имя файла>” For binary As # <числовой идентификатор>

Записать данные в файл:

Put # <числовой идентификатор>, номерЗаписи, переменная ‘ Записывает переменную в файл в позицию с указанным номером.

Читать данные из файла:

Get # <числовой идентификатор>, номерПозиции, имяПеременной ‘ Читает запись с указанной позиции в переменную.

Related Posts