Оператор Write #
Записывает данные в последовательный файл.
Синтаксис
Запись #filenumber, [ outputlist ]
Синтаксис оператора записи Write # состоит из таких частей:
Part | Описание |
---|---|
filenumber | Обязательно указывать. Любой допустимый номер файла. |
outputlist | Необязательный параметр. Одно или несколько числовых выражений или строковых выражений через запятую, которые нужно записать в файл. |
Замечания
Данные, записанные с помощью write # , обычно считываются из файла с параметром Input #.
Если опустить outputlist и добавить запятую после filenumber, в файл будет добавлена пустая строка. Несколько выражений могут быть разделены пробелом, точкой с запятой или запятой. Пробел выполняет такую же роль, как точка с запятой.
Когда для записи данных в файл используется Запись # , следует несколько универсальных предположений, чтобы данные всегда можно было прочитать и правильно интерпретировать с помощью input #, независимо от языкового стандарта:
- Числовые данные всегда записываются с помощью точки в качестве десятичного разделителя.
- Для данных типа Boolean печатается
#TRUE#
или#FALSE#
. Ключевые словаTrue и False не переводятся независимо от языкового стандарта. - Данные даты записываются в файл в универсальном формате даты. Когда компонент даты или времени отсутствует или равен нулю, в файл записывается только предоставленная часть.
- В файл ничего не записывается, если для данных outputlist задано значение Empty. Однако для данных
#NULL#
null записывается. - Если выходные данные списка являются данными NULL ,
#NULL#
записывается в файл. - Для данных об ошибке выходные данные отображаются как
#ERROR errorcode#
. Ключевое слово Error не переводится, независимо от языкового стандарта.
В отличие от оператора Print # , инструкция Write # вставляет запятые между элементами и кавычки вокруг строк при их записи в файл. Вставлять явные разделители в список не нужно. Write # вставляет символ новой строки, т. е. каретки return-linefeed (Chr(13) + Chr(10) ), после того как он записывает в файл последний символ из списка выходных данных.
Примечание.
Не следует писать строки, содержащие внедренные кавычки, например для "1,2""X"
использования с оператором Input# ; Input # анализирует эту строку как две полные и отдельные строки.
Пример
В этом примере оператор Write # используется для записи необработанных данных в последовательный файл.
Open "TESTFILE" For Output As #1 ' Open file for output.
Write #1, "Hello World", 234 ' Write comma-delimited data.
Write #1, ' Write blank line.
Dim MyBool, MyDate, MyNull, MyError
' Assign Boolean, Date, Null, and Error values.
MyBool = False : MyDate = #February 12, 1969# : MyNull = Null
MyError = CVErr(32767)
' Boolean data is written as #TRUE# or #FALSE#. Date literals are
' written in universal date format, for example, #1994-07-13#
'represents July 13, 1994. Null data is written as #NULL#.
' Error data is written as #ERROR errorcode#.
Write #1, MyBool ; " is a Boolean value"
Write #1, MyDate ; " is a date"
Write #1, MyNull ; " is a null value"
Write #1, MyError ; " is an error value"
Close #1 ' Close file.
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.