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.