Pasar Un Archivo de Texto A Un Array
Pasar Un Archivo de Texto A Un Array
Pasar Un Archivo de Texto A Un Array
Ejemplo simple que muestra como leer un archivo de texto y generar un array
con el contenido del mismo
En el ejemplo hay una función llamada Archivo_a_Matriz, a la cual se debe enviar el path
del archivo.
Luego los datos se separan con la función Split, y el contenido del mismo es retornado a la
función
Texto planoImprimir
1.
2. Private Function Archivo_a_Matriz(ByVal Path As String) As String()
3.
4. On Error GoTo errSub
5.
6. Dim Array_Datos As String
7. Dim F_File As Integer
8. Dim Split_Array() As String
9.
10. ' Verifica si el archivo existe
11. If (Dir(Path) = vbNullString) Then
12. MsgBox " El arhivo indicado no existe ", vbCritical
13. ' Retornamos a la función un array vacío
14. ReDim Archivo_a_Matriz(0)
15. Exit Function
16. End If
17.
18. ' Para el número libre de archivo
19. F_File = FreeFile
20.
21. ' Abre el archivo en modo binario de lectura
22. Open Path For Binary Access Read As #F_File
23.
24. ' crea un buffer con la cantidad de caracteres - bytes necesarios
25. Array_Datos = String(LOF(F_File), 0)
26.
27. ' Almacena en el buffer todo el archivo
28. Get #F_File, , Array_Datos
29.
30. ' Cierra el archivo
31. Close #F_File
32.
33. ' Elimina el último salto de carro, si es que hay ( caracter VbCrlf )
34. Do Until (Right$(Array_Datos, 2) <> vbCrLf)
35. Array_Datos = Mid$(Array_Datos, 1, Len(Array_Datos) - 2)
36. Loop
37.
38. ' Obtenemos con split los datos del buffer, en un array
39. Split_Array = Split(Array_Datos, vbCrLf)
40.
41. ' retorna el array a la función
42. Archivo_a_Matriz = Split_Array
43.
44. Exit Function
45.
46. 'error
47. errSub:
48.
49. ' En caso de error devuelve un array vacío
50. ReDim Archivo_a_Matriz(0)
51.
52. End Function
53.
54. Private Sub Command1_Click()
55.
56. Dim Array_Datos() As String
57. Dim i As Integer
58.
59. ' le envía el archivo de texto, y retorna los datos en el array
60. Array_Datos = Archivo_a_Matriz(App.Path & "\archivo.txt")
61.
62. ' recorre el array para mostrar los datos
63. For i = LBound(Array_Datos) To UBound(Array_Datos)
64. Me.Print Array_Datos(i)
65. Next
66.
67. End Sub
https://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/286-pasar-archivo-a-
array.htm