Вход/Регистрация
VBA для чайников
вернуться

Каммингс Стив

Шрифт:

Dim objTextStreaml As TextStream

Dim objTextStream2 As TextStream

Dim objTextStream3 As TextStream

Set ObjFileSystem = _

CreateObject("Scripting.FileSystemObject")

' Создание объекта File и использование его для создания объекта текстового потока

Set ObjFilel = _

objFileSystem.GetFile("С:\СуществующийФайл.txt"]

Set objTextStreaml = _

objFilel.OpenAsTextStream(ForReading)

' Создание файла и открытие его как объекта _

' текстового потока

Set objTextStream2 = _

objFileSystem.CreateTextFile("C:\Новый файл.txt")

' Открытие существующего файла как _

' текстовый поток

Set objTextStream3 = _

objFileSystem.OpenTextFile("C:\Старыйфайл.txt")

' Запись двух строк текста в один из потоков

objTextStream2.WriteLine _

"Взвейтесь кострами, синие ночи!"

objTextStream2.WriteLine "Мы - пионеры, дети рабочих."

' Закрытие всех трех текстовых потоков

objTextStreaml.Close

objTextstream2.Close

objTextStream3.Close

End Sub

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

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

Доступные для каждого конкретного объекта Text Stream режимы зависят от того, каким способом создан текстовый поток, а в случае метода OpenAsText Stream объекта File - от указанного для него режима. Вот соответствующая сводка.

Метод

Доступные режимы ввода-вывода для определенного объекта текстового потока

Create Text File (объект FileSystemObject)

Чтение и запись

Open Text File (объект ileSystemObject )

Чтение и добавление

Open As Text Stream (объект File )

Чтение, запись или добавление (только один из режимов)

Когда объект Text Stream создается из объекта File, режим ввода-вывода задается как аргумент метода OpenAsText Stream с помощью трех соответствующим образом названных констант: For Reading (для чтения), For Writing (для записи) и ForAppending (для добавления). Например, если нужно добавить текст в конец существующего файла, откройте текстовый поток с помощью следующего оператора:

Set objTS = objFile.OpenAsTextStreamfForAppending)

Открыв объект Text Stream в подходящем режиме доступа, можно начинать работу с содержимым файла. В вашем распоряжении для этого есть несколько простых методов.

Можно читать и записывать данные как отдельные символы или строки. Если только все элементы данных не равны по длине, я рекомендую построчное считывание и построчную запись. Когда читаются строки данных, вам не нужно знать длину строк, а только их номер. Сама же "строка" может состоять из любого числа символов и даже вообще не содержать ни одного символа.

В любом случае, чтобы читать данные из текстового потока, присвойте переменной значение, возвращаемое одним из подходящих методов объекта Text Stream. Следующий фрагмент программного кода подскажет вам, как это сделать:

' чтение следующей строки из файла в переменную

strНекоторыйТекст = Text Stream.ReadLine

Для чтения предусмотрены следующие методы.

Метод (объекта Text Stream)

Выполняемое действие

Read (число_символов)

Чтение заданного числа символов начиная с текущей позиции в файле

ReadLine

Чтение всех символов начиная с текущей позиции в файле до следующего символа перехода на новую строку

ReadAll

Чтение всего файла

Skip ( число_символов)

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

SkipLine

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

Чтобы записать данные в текстовый поток, задайте текст для записи в виде строки как аргумент метода Write или WriteLine, как в следующем примере:

' запись строки

objTextStream.Write "Алло, центральная!"

' запись значения переменной с последующим символом

' перехода на новую строку

objTextStream.WriteLine strMyTwoBits

Метод (объекта TextStream)

Выполняемое действие

Write(строка)

Запись в текстовый поток указанной строки

WriteLine(строка)

Запись в текстовый поток указанной строки с последующим символом перехода на новую строку

WriteBlankLines(число_ строк)

Запись в текстовый поток указанного числа символов перехода на новую строку

  • Читать дальше
  • 1
  • ...
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • ...

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

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: