Obrigado pela ajuda, mas por acaso (através da minha googlagem) já tinha chegado a essa hipótese. Só que empanquei quando tento passar a informação para uma matriz.
Penso que o Parse a que te referes é a função Split que retorna um vector de strings conforme o delimitador da string geral.
Tenho duas ideias que vou apresentá-las:
Primeira:
Penso que esta tem mais a ver com a que me apresentaste.
Leio o ficheiro linha a linha e faço o split em cada linha.
livre =freefile
Open "c:\text.txt" for input as #livre
Do while not EOF(livre)
Line Input #livre, linha ' lé o ficheiro linha a linha
v() = Split(linha, "|")
n = n+1 ' vai contando o número de linhas
Loop
Agora não sei como ir agregando as strings que vão ficando no v() para uma matriz.
Segunda:
Nesta ideia o ficheiro é lido na totalidade.
Depois faço o split das mudanças de linha e de seguida faço o split do delimitador "|".
livre =freefile
Open "c:\text.txt" for input as #livre
todo = Input(LOF(livre), livre)
v() = Split(todo,vbCrLf) 'vector com cada linha do ficheiro
For i = 0 to Ubound(v)
W() = Split(v(i), "|") 'Vector com cada elemento de cada linha
Next i
Agora, volto é a ter o mesmo problema. Não sei como ir passando W() para uma matriz.
Já "googlei" muito por matrizes bidimensionais mas não consigo avançar. Tenho difculdades em definir a matriz bidimensional( já vi exemplos em que era do tipo W( , ) ou W()() mas nenhuma funciona em VB6). Só tenho visto exemplos em que a matriz tem dimensões definidas(por exemplo W(0 to 100, 0 to 100)) mas eu penso que no meu caso tenho que ter uma matriz flexível porque eu quero ler vários ficheiros que não têm o mesmo número de linhas e ainda cada linha não tem um número fixo de colunas. No exemplo que apresentei as 3 linhas tem um número de dados(colunas) diferentes. A 1ª tem 4, a 2ª tem 5 e a 3ª tem 3.
Como podes ver já tenho uma certa "exaustão" de googlar.
Espero ter sido claro com as minhas dúvidas e espero que me possam continuar a ajudar.
Obrigado!