SoloCodigo
		Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: Fernando_P en Viernes 24 de Octubre de 2003, 01:25
		
			
			- 
				Hola a todos, necesito que alguien me ayude en lo siguiente.
 Necesito poder leer de un archivo plano(txt) o de una tabla(dbf, acces, etc) que contien datos en forma de matriz, es decir, filas y columnas con numeros. Esos datos son los que debo trabajar, mi consulta es como lo hago para extraer esos datos desde el archivo para trabajar con ellos en el codigo, ademas de como recibo el archivo una vez que el usuario haga clik en aceptar al buscar el archivo, como lo encadeno al programa o subrutina que cree para poder trabajar con ellos.
 
 Espero entiendan y me puedan ayudar, porque es un problema que me tiene medio parado, estoy trabajando en VBA.
 
 Desde ya muchas gracias, y espero me ayuden.
 
 Saludos
 Fernando.
- 
				El siguiente codigo permite leer un archivo plano:
 Debes colocar un control commondialog
 
 'Le indico el tipo de archivos a buscr
 CommonDialog1.Filter = "Archivos de Texto|*.txt"
 'Activo el cuadro de abrir archivo
 CommonDialog1.ShowOpen
 'Capturo el nombre del archivo seleccionado
 archivo = CuadroDialogo.FileName
 'Verifico que el archivo sea valido
 If Len(archivo) > 0 Then
 'Abro el archivo
 Open archivo For Input As #1
 'Leo todos los registros mientras no llegue al final del archivo
 While Not EOF(1)
 'Leo una linea del archivo
 Input #1, linea
 'Aqui debes colocar el codigo que te permita trabajar con los datos capturados
 Wend
 'Cierro el archivo
 Close (1)
 End If
 
 
 Una sola observacion, antes de trabajar con archivos planos, es que no puedes utilizar comas, ya que VB las considera como salto de linea, por lo tanto piensa que es otro registro.
 Si deseas trabajar con archivos planos para separar numeros, puedes utilizar punto y coma o colocar un asterisco. Por ejemplo:
 1234;4545;3453;534;
 1234*4545*3453*534*
 
 Asi es que en la parte donde te digo que debes trabajar sobre los datos leidos, debes separar el registro en sus partes individuales de acuerdo a tus requerimientos.
 
 Espero te sirva