Partilhar via


Instrução N.º de escrita

Escreve dados num ficheiro sequencial.

Sintaxe

Escreva #filenumber, [ outputlist ]

A sintaxe da instrução Write # tem as seguintes 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írgulas ou expressões de cadeia para escrever num ficheiro.

Comentários

Normalmente, os dados escritos com Write # são lidos a partir de um ficheiro com Entrada #.

Se omitir a lista de saída e incluir uma vírgula após o número de ficheiro, será impressa uma linha em branco no ficheiro. Várias expressões podem ser separadas por um espaço, ponto e vírgula ou vírgula. Um espaço tem o mesmo efeito deum ponto e vírgula.

Quando o N.º de Escrita é utilizado para escrever dados num ficheiro, são seguidas várias suposições universais para que os dados possam sempre ser lidos e interpretados corretamente com a Entrada #, independentemente da região:

  • Os dados numéricos são sempre escritos utilizando o período como separador decimal.
  • Para dados Boolianos, #TRUE# ou #FALSE# são impressos. As palavras-chaveVerdadeiro e Falso não são traduzidas, independentemente da região.
  • Os dados de data são escritos no ficheiro com 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# é escrito.
  • Se os dados da lista de saída forem Dados nulos , #NULL# são escritos no ficheiro.
  • Para Dados de erro , o resultado é apresentado como #ERROR errorcode#. O erro palavra-chave não é traduzido, independentemente da região.

Ao contrário da instrução Print # , a instrução Write # insere vírgulas entre itens e aspas à volta das cadeias à medida que são escritas no ficheiro. Não tem de colocar delimitadores explícitos na lista. O n.º de escrita insere um caráter de nova linha, ou seja, um símbolo de retorno linefeed (Chr(13) + Chr(10) ), depois de ter escrito o caráter final na lista de saída no ficheiro.

Observação

Não deve escrever cadeias que contenham aspas incorporadas, por exemplo, "1,2""X" para utilização com a instrução Input # ; O n.º de entrada analisa esta cadeia como duas cadeias completas e separadas.

Exemplo

Este exemplo utiliza a instrução Write # para escrever dados não processados num ficheiro 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.