Hola, una forma sencilla sería cargar el txt en un recordset y con éste rellenar el Grid con el método Clip GetString:
Código Visual Basic:
Ver originalDim rs As New ADODB.Recordset
With rs
.ActiveConnection = "Driver={Microsoft Text Driver (*.txt; *.csv)};" & _
"DBQ=" & App.Path & ";DefaultDir=" & App.Path & ";"
.CursorType = adOpenStatic
.CursorLocation = adUseClient
.Open "Select * from [Archivo.txt]"
End With
Dim i As Integer
With MSFlexGrid1
.Rows = 2
.Cols = rs.Fields.Count
For i = 0 To .Cols - 1
[COLOR="Green"]' encabezado de columna del Grid[/COLOR]
.TextMatrix(0, i) = rs.Fields(i).Name
Next i
.Rows = rs.RecordCount + 1
.Row = 1
.Col = 0
.RowSel = .Rows - 1
.ColSel = .Cols - 1
.Clip = rs.GetString(, rs.RecordCount)
.Row = 1
End With
Notas:
- Tiene que estar activada una referencia a ADO
- Los delimitadores de campos del archivo tienen que ser punto y coma ";"
- Si el archivo no tiene encabezado, se lo tienes que poner a mano: TextMatrix(0, 0) = "Col 1", TextMatrix(0,1) = "Col 2" ...
- El archivo (Archivo.txt) está en el mismo directorio de la aplicación, si no es así lo debes indicar en el parámetro DefaultDir (DefaultDir = "c:\miRuta")
Saludos