Instrução Write #
Grava dados em um arquivo sequencial.
Sintaxe
Write #filenumber, [ outputlist ]
A sintaxe de instrução Write # tem estas partes:
Sair | Descrição |
---|---|
númerodoarquivo | Obrigatório. Qualquer número de arquivo válido. |
listadesaída | Opcional. Uma ou mais expressões numéricas delimitadas por vírgula ou expressões de cadeia de caracteres para gravar em um arquivo. |
Comentários
Os dados gravados com Write # geralmente são lidos de um arquivo com Entrada #.
Se você omitir a lista de saída e incluir uma vírgula após o número de arquivos, uma linha em branco será impressa no arquivo. Várias expressões podem ser separadas com um espaço, um ponto e vírgula ou uma vírgula. Um espaço tem o mesmo efeito deum ponto e vírgula.
Quando Write # é usado para gravar dados em um arquivo, várias suposições universais são seguidas para que os dados sempre possam ser lidos e interpretados corretamente usando a Entrada #, independentemente da localidade:
- Os dados numéricos são sempre gravados usando o período como separador decimal.
- Para dados Boolianos,
#TRUE#
ou#FALSE#
são impressos. As palavras-chaveTrue e False não são traduzidas, independentemente da localidade. - Os dados de data são gravados no arquivo usando o formato de data universal. Quando o componente de data ou hora estiverem faltando ou forem zero, somente a parte fornecida será escrito no arquivo.
- Nothing será gravado no arquivo se os dados da listadesaída forem Empty. No entanto, para dados nulos ,
#NULL#
é gravado. - Se os dados da lista de saída forem dados nulos ,
#NULL#
serão gravados no arquivo. - Para dados de erro , a saída é exibida como
#ERROR errorcode#
. A palavra-chave Erro não é traduzida, independentemente da localidade.
Ao contrário da instrução Imprimir # , a instrução Write # insere vírgulas entre itens e aspas em torno de cadeias de caracteres à medida que são escritas no arquivo. Você não precisa colocar delimitadores explícitos na lista. Write # insere um caractere newline, ou seja, um feed de linha de retorno de carro (Chr(13) + Chr(10), depois de ter escrito o caractere final na lista de saída no arquivo.
Observação
Você não deve escrever cadeias de caracteres que contenham aspas inseridas, por exemplo, "1,2""X"
para uso com a instrução Input # ; A entrada # analisa essa cadeia de caracteres como duas cadeias de caracteres completas e separadas.
Exemplo
Este exemplo usa a instrução Write # para gravar dados brutos em um arquivo sequencial.
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.
Confira também
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.