Ajuda do Collabora Office 24.04
Lê dados de um ficheiro sequencial aberto.
Input #fileNum {,|;} var1 [, var2 [, ...]]
fileNum: Number of the file that contains the data that you want to read. The file must be opened with the Open statement using the key word INPUT.
var: A numeric or string variable that you assign the values read from the opened file to.
A instrução Input# lê valores numéricos ou cadeias de um ficheiro aberto e atribui os dados a uma ou mais variáveis. Uma variável numérica lê-se até ao primeiro retorno de linha (Asc=13), mudança de linha (Asc=10), espaço ou vírgula. As variáveis de cadeia lêem-se até ao primeiro retorno de linha (Asc=13), mudança de linha (Asc=10) ou vírgula.
Os dados e os tipos de dados no ficheiro aberto têm de aparecer na mesma ordem das variáveis transferidas no parâmetro "var". Se atribuir valores não numéricos a uma variável numérica, "var" recebe um valor de "0".
Os registos separados por vírgulas não podem ser atribuídos a uma variável de cadeia. As aspas (") no ficheiro também são ignoradas. Se quiser ler estes caracteres no ficheiro, utilize a instrução Line Input# para ler ficheiros de texto puro (ficheiros que só contêm caracteres imprimíveis) linha a linha.
Se atingir o fim do ficheiro quando estiver a ler um elemento de dados, ocorrerá um erro e o processo será cancelado.
Sub ExampleWorkWithAFile
Dim iCount As Integer, sFileName As String
Dim sName As String, sValue As Integer
sFileName = "C:\Users\ThisUser\data.txt"
iCount = Freefile
' Escrever dados (que iremos utilizar mais tarde para Input ) no ficheiro
Open sFileName For Output As iCount
sName = "Hamburg" : sValue = 200
Write #iCount, sName, sValue
sName = "New York" : sValue = 300
Write #iCount; sName, sValue
sName = "Miami" : sValue = 459
Write #iCount, sName, sValue
Close #iCount
' Ler dados utilizando Input
iCount = Freefile
Open sFileName For Input As iCount
Input #iCount, sName, sValue
MsgBox sName & " " & sValue
Input #iCount; sName, sValue
MsgBox sName & " " & sValue
Input #iCount, sName, sValue
MsgBox sName & " " & sValue
Close #iCount
End Sub