Escreva # instrução

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.