Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБОРАТОРНЫЙ ПРАКТИКУМ VBA_2009.doc
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
3.74 Mб
Скачать

Приложение Работа с файлами. Инструкция Print #

Записывает отформатированные данные в файл с последовательным доступом.

Print #номерФайла, [списокВывода]

Параметры номерФайла Обязательный. Любой допустимый номер файла. списокВывода Необязательный. Выражение или список выражений, которые следует напечатать. Ниже приведены допустимые значения аргумента списокВывода:

  • Spc(n) - Используется для вставки пробелов в файл; здесь n число пробелов, которые следует вставить.

  • Tab(n) - Устанавливает курсор в столбец с указанным номером; здесь n номер столбца. Tab без аргумента устанавливает курсор в начало следующей зоны печати.

  • выражение - Числовые выражения или строковые выражения, которые следует напечатать.

  • позиция - Указывает позицию, в которой следует печатать следующий символ. Для установки курсора сразу после последнего напечатанного символа используйте точку с запятой. Для установки курсора в столбец с указанным номером используйте Tab(n). Для установки курсора в начало следующей зоны печати используйте Tab без аргумента. Если аргумент позиция опущен, следующий символ печатается на следующей строке.

Замечания

Данные, записанные с помощью инструкции Print #, обычно считываются из файла с помощью инструкций Line Input # или Input. Если аргумент список Вывода опущен, после аргумента номерФайла идет только разделитель списка, в файл печатается пустая строка. Для разделения выражений можно использовать пробелы или точки с запятой, которые в данной ситуации полностью эквивалентны. При выводе логических данных (тип Boolean) в файл записываются слова True или False. Ключевые слова True и False не переводятся, вне зависимости от национальной настройки.

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

Если список Вывода имеет значение Empty, в файл ничего не записывается. Однако если список Вывода имеет значение Null, в файл записывается ключевое слово Null.

Данные типа Error записываются в файл как Error код Ошибки. Ключевое слово Error не переводятся, вне зависимости от национальной настройки.

Инструкция Print # записывает в файл данные, отформатированные с учетом национальной настройки. Это означает, в частности, что используется соответствующий разделитель целой и дробной части числа.

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

Для записи в файл данных, который в будущем планируется читать с помощью инструкции Input #, следует вместо инструкции Print # использовать инструкцию Write #. Использование инструкции Write # гарантирует, что записанные данные будут корректно разделены, что позволит прочитать их с помощью инструкции Input #. Кроме того, файлы, записанные с помощью инструкции Write #, могут быть корректно прочитаны при наличии любых национальных настроек.

Демонстрационный пример В примере инструкция Print # используется для записи данных в файл.

Open "TESTFILE" For Output As #1 ' Открывает файл для записи.

Print #1, "Пример" ' Печатает текст в файл.

Print #1, ' Печатает пустую строку в файл.

Print #1, "Зона 1"; Tab ; "Зона 2" ' Печатает в двух зонах печати.

Print #1, "Пример" ; " " ; "всем" ' Строки разделяются пробелом.

Print #1, Spc(5) ; "5 пробелов" ' Печатает пять пробелов.

Print #1, Tab(10) ; "Привет" ' Печатает слово в столбце 10.

' Присваивает значения типа Boolean, Date, Null и Error.

Dim MyBool, MyDate, MyNull, MyError

MyBool = False : MyDate = #February 12, 1969# : MyNull = Null

MyError = CVErr(32767)

' Вместо слов True, False, Null и Error записываются слова,

' соответствующие им в текущем языке. Текстовые константы даты

' записываются в кратком системном формате даты.

Print #1, MyBool ; " - логическое значение"

Print #1, MyDate ; " - дата"

Print #1, MyNull ; " - значение Null"

Print #1, MyError ; " - значение типа Error"

Close #1 ' Закрывает файл.

Sub Test()

Open "c:\1.txt" For Output As #1

Print #1, "Hello File"

Close #1

Open "c:\1.txt" For Input As #1

Dim s As String

Input #1, s

MsgBox s

Close #1

End Sub