Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Vba Buscar y procesar archivo de texto

Estas en el tema de Vba Buscar y procesar archivo de texto en el foro de Visual Basic clásico en Foros del Web. Necesito ejecutar la típica ventana de exploración de archivos bajo Windows, seleccionar un archivo (en este caso un txt) y volcar su contenido en la ...
  #1 (permalink)  
Antiguo 19/11/2009, 15:20
Avatar de cmarti  
Fecha de Ingreso: noviembre-2003
Ubicación: Buenos Aires - Argentina
Mensajes: 442
Antigüedad: 20 años, 5 meses
Puntos: 1
Vba Buscar y procesar archivo de texto

Necesito ejecutar la típica ventana de exploración de archivos bajo Windows, seleccionar un archivo (en este caso un txt) y volcar su contenido en la celda A1.
Estas dos últimas cosas las he logrado pero al querer incorporar la famosa ventana de búsqueda, se pincha todo.

La apertura del archivo la hago con el sgte. código:
Open "ruta+nombre_archivo" for Input as #1
y el volcado de "todo su contenido" a la celda "A1" lo hago con:
Cells(1, 1) = Input(LOF(1), #1)

Agradecería me ayuden a poder incorporar a estas dos líneas, la famosa ventana de búsqueda.

Desde ya muchas gracias
__________________
When all else is lost the future still remains.
  #2 (permalink)  
Antiguo 19/11/2009, 18:24
 
Fecha de Ingreso: enero-2007
Ubicación: 9 de julio
Mensajes: 111
Antigüedad: 17 años, 3 meses
Puntos: 2
Respuesta: Vba Buscar y procesar archivo de texto

Hola. aca te paso un codigo
Espero te sirva

Código:
Dim Aux As String
   Aux = Application _
    .GetOpenFilename("Text Files (*.txt), *.txt")
If Aux <> False Then
    Cells(1, 1).Text = Aux
End If
  #3 (permalink)  
Antiguo 20/11/2009, 09:11
Avatar de cmarti  
Fecha de Ingreso: noviembre-2003
Ubicación: Buenos Aires - Argentina
Mensajes: 442
Antigüedad: 20 años, 5 meses
Puntos: 1
Respuesta: Vba Buscar y procesar archivo de texto

hola pana99. Mirá, la ventana de exploración me sale de 10 incluye agregué un MsgBox para ver el resultado y me muestra perfectamente el path al archivo de texto pero me dá error de no coincidencia de Tipos en la línea:
Cells(1, 1).Text = Aux

Te agradeceré me ayudes. A simple vista me parece que hay una incompatibilidad en Aux porque por un lado le asignas el string del path y por el otro consultás si el distinta de FALSE. Consulto, si está declarada como string, no debería consultarse por null o no null? Gs.
Aguardo tu respuesta.
__________________
When all else is lost the future still remains.
  #4 (permalink)  
Antiguo 20/11/2009, 09:45
 
Fecha de Ingreso: enero-2007
Ubicación: 9 de julio
Mensajes: 111
Antigüedad: 17 años, 3 meses
Puntos: 2
Respuesta: Vba Buscar y procesar archivo de texto

Si es como decis.
Parte de ese ejemplo estaba en la pagina de microsoft. pero bueno
Aca te lo paso probado. si no definis Aux anda bien (ya sea elijiendo o no un nombre de archivo)

Código:
  Aux = Application.GetOpenFilename("Text Files (*.txt), *.txt")
If Aux <> False Then
    Cells(1, 1).Value = Aux
End If
  #5 (permalink)  
Antiguo 20/11/2009, 10:43
Avatar de cmarti  
Fecha de Ingreso: noviembre-2003
Ubicación: Buenos Aires - Argentina
Mensajes: 442
Antigüedad: 20 años, 5 meses
Puntos: 1
Respuesta: Vba Buscar y procesar archivo de texto

hola pana99, mirá. lo solucioné. En realidad tu código andaba pero no terminaba con mi cometido es decir, pasar el contenido de un txt a la celda A1.

Por suerte y gracias a vos hermano, busqué y busqué y lo solucioné. Me dió muchísima bronca que en la página de Microsoft y hasta en la mismísima ayuda de Visual Basic (recordemos que estoy laburando con VBA bajo excel) figura una bocha de líneas de código cuando con lo tuyo lo abrevié una barbaridad.
Aquí el código:

Cita:
Sub buscar_archivo()
Dim aux As String
aux = Application.GetSaveAsFilename
Open "" & aux & "" For Input As #1
Cells(1, 1) = Input(LOF(1), #1)
End Sub
Ojo, el GetOpen andaba pero cuando quería hacer el Open del for input me decía que el archivo ya estaba abierto. Es por eso que cambié el GetOpen por el GetSaveAs y le agregué (acá estaba OTRO GRAN PROBLEMA jaja) las comillas para transformar lo capturado por aux en un string propiamente dicho.

Desde ya, te agradezco la rapides con la que ma ayudaste
Un abrazo.
__________________
When all else is lost the future still remains.

Última edición por cmarti; 20/11/2009 a las 11:07
  #6 (permalink)  
Antiguo 20/11/2009, 12:11
 
Fecha de Ingreso: enero-2007
Ubicación: 9 de julio
Mensajes: 111
Antigüedad: 17 años, 3 meses
Puntos: 2
Respuesta: Vba Buscar y procesar archivo de texto

Ok, me alegro te haya servido
Entendi que lo que querias poner en la celda era el nombre del archivo, no el ultimo contenido.
Bueno si anda, felicitaciones.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:40.