Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Grava dados em um arquivo sequencial.
Sintaxe
Write #filenumber, [ outputlist ]
A sintaxe da 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 Input #.
Se você omitir a lista de saída e incluir uma vírgula após o número do arquivo, uma linha em branco será impressa no arquivo. Várias expressões podem ser separadas por 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 Input #, independentemente da localidade:
- Os dados numéricos são sempre gravados usando-se o ponto como separador decimal.
- Para dados Boolianos,
#TRUE#ou#FALSE#são impressos. As palavras-chaveVerdadeiro e Falso 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 aparece como
#ERROR errorcode#. A palavra-chave Error não é traduzida, independentemente da localidade.
Ao contrário da instrução Print # , a instrução Write # insere vírgulas entre itens e aspas em volta das cadeias de caracteres conforme elas são gravadas no arquivo. Você não precisa colocar delimitadores explícitos na lista. Write # insere um caractere de nova linha, ou seja, um feed-linefeed de retorno de carro (Chr(13) + Chr(10) ), depois de gravar o caractere final na lista de saída no arquivo.
Observação
Você não deve escrever strings que contenham aspas incorporadas, por exemplo, "1,2""X" para uso com a instrução Input # ; Input # 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.