Compartilhar via


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.