Ajuda do LibreOffice 7.2
Abre um canal de dados.
Open pathname For mode [Access io] [locking] As [#]filenum [Len=recLen]
pathname: Nome e caminho para o arquivo a abrir. Se tentar ler de um arquivo inexistente (Access = Read), é exibida uma mensagem de erro. Se tentar escrever para um arquivo inexistente (Access = Write), um novo arquivo é criado.
Mode: palavra-chave que especifica o modo do arquivo. Valores válidos: Append (acrescenta no final do arquivo sequencial), Binary (dados podem ser acessados por bytes que usam Get e Put), Input (abre canal de dados para leitura), Output (abre canal de dados para gravação) e Random (edita arquivos relativos).
io: Palavra-chave que define o tipo de acesso. Valores válidos: Read (somente leitura), Write (somente escrita), Read Write (ambos).
locaking: palavra-chave que define o status de segurança de um arquivo após a abertura. Valores válidos: Shared (o arquivo pode ser aberto por outros aplicativos), Lock Read (arquivo protegido contra leitura), Lock Write (arquivo protegido contra gravação), Lock Read Write (nega acesso ao arquivo).
filenum: qualquer expressão de número inteiro de 0 a 511 para indicar o número de um canal de dados livre. Você pode então passar comandos pelo canal de dados para acessar o arquivo. O número do arquivo deve ser determinado pela função FreeFile imediatamente antes da instrução Open.
recLen: para arquivos de acesso Random, define o tamanho dos registros.
Você só pode modificar o conteúdo de um arquivo aberto com a instrução Open. Se tentar abrir um arquivo que já esteja aberto, uma mensagem de erro será exibida.
Sub ExampleWorkWithAFile
Dim iNumber As Integer
Dim sLine As String
Dim aFile As String
Dim sMsg As String
aFile = "C:\Users\ThisUser\data.txt"
iNumber = Freefile
Open aFile For Output As #iNumber
Print #iNumber, "Esta é uma linha de texto"
Print #iNumber, "Esta é uma outra linha de texto"
Close #iNumber
iNumber = Freefile
Open aFile For Input As iNumber
While Not eof(iNumber)
Line Input #iNumber, sLine
If sLine <>"" Then
sMsg = sMsg & sLine & chr(13)
End If
Wend
Close #iNumber
MsgBox sMsg
End Sub
Sub ExampleWorkWithAFile
Dim iNumber As Integer
Dim sLine As String
Dim aFile As String
Dim sMsg As String
aFile = "~/data.txt"
iNumber = Freefile
Open aFile For Output As #iNumber
Print #iNumber, "Esta é uma linha de texto"
Print #iNumber, "Esta é uma outra linha de texto"
Close #iNumber
iNumber = Freefile
Open aFile For Input As iNumber
While Not eof(iNumber)
Line Input #iNumber, sLine
If sLine <>"" Then
sMsg = sMsg & sLine & chr(13)
End If
Wend
Close #iNumber
MsgBox sMsg
End Sub
Se a instrução Open tentar abrir um arquivo para o qual o usuário atual não tem permissão de leitura / gravação, um erro de E / S será gerado.