Está en la página 1de 2

Pasar un archivo de texto a un array

<Volver> - Anterior - Siguiente

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.

Dentro de la función se accede al fichero en modo binario de lectura para cargar en un


buffer todo los datos.

Luego los datos se separan con la función Split, y el contenido del mismo es retornado a la
función

Código fuente en un form con un commandButton

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

También podría gustarte