Carga un .txt en Visual basic de excel

Estoy trabajando en la carga de un fichero .txt desde visual basic de excel y tengo que hacer lo a mano desde el visual basic. El problema que tengo es que cuando utilizo esto:
Open Archivo For Input As #1
Input #1, Texto
En esl string Texto me inserta toda una fila del archivo .txt en vez de una sola palabra, o sino en caso de que en la fila haya una coma corta la fila en ese punto y solo mete en la variable Texto hasta la coma sin meterla a ella.
Como puedo coger las palabras una a una, o al menos que si coge las filas enteras que no las corte en las comas. O sino si tiene que cortar en las komas, al menos que la guarde para que sepa que la linea ha sido kortada. No se si me explico, ¿alguna idea?

2 respuestas

Respuesta
1
Se me olvidaba decirte que luego tienes funciones de tratamiento de cadenas como InStr() para la búsqueda de un determinado/s caracter/es en una cadena, junto con otras como len() que te da la longitud de la cadena... right() y left() también son útiles al respecto para extraer cierta información como en tu caso dices palabras... lo que haría yo es capturar la linea y luego tratarla individualmente con estas funciones de cadena que te he comentado, de ese modo buscaría el espacio en blanco que separa las palabras para así irlas desglosando y almacenando a mi antojo.
Suerte!
Perfecto, eso es exactamente lo que necesitaba. Muchas gracias.
Prueba con la siguiente instrucción Line Input #1, Texto
Esto te leerá una linea completa.
No obstante si deseas más información te remito al siguiente enlace donde vienen bastantes ejemplos descriptivos.
Espero te sea de ayuda.
http://dieumsnh.qfb.umich.mx/VisualBasic/parte14.htm#FICHEROS EN VISUAL BASIC
Respuesta
1
El siguiente bloque de código permite leer todo el archivo aunque haya comas, estas no aparecerán, y almacena el contenido en la Celda A1 de la Hoja Activa.
'Lee primer bloque hasta fin de archivo o coma
Input #1, texto
Range("A1").Value = texto
'Lee siguiente(s) bloque(s) hasta fin de archivo
While Not EOF(1)
Input #1, texto
Range("A1").Value = Range("A1").Value + " " + texto
Wend
Close #1
Espero te sirva para tu Proyecto, si requieres más ayuda me escribes de nuevo SIN Finalizar la Pregunta. De lo contrario ya está ...
Suerte !
Rogers R.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas