ayuda con macro

27/02/2007 - 20:29 por IGGV | Informe spam
Hola a todos:
De una revista saque una macro cuyo codigo transcribo mas abajo. Esta
me permite listar en una planilla todos los archivos de un directorio
predeterminado, en este caso todo lo que cuelga de C:\ . Lo que me
gustaria poder hacer es que al ejecutar la macro me permita elegir el
directorio a listar.
Desde ya muchas gracias

Sub Archivos()
ruta = "C:\*.*"
nombre = Dir(ruta)
i = 1
Do While nombre <> ""
Cells(i, 1) = nombre
i = i + 1
nombre = Dir
Loop
End Sub

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
28/02/2007 - 01:26 | Informe spam
hola, Ignacio ?

... macro... permite listar... los archivos de un directorio predeterminado, en este caso todo lo que cuelga de C:\
... me gustaria... que al ejecutar la macro me permita elegir el directorio a listar.



op1: si consideras que nunca te equivocaras cuando te lo pregunte... cambia las dos primeras instrucciones a:
ruta = Trim(InputBox("Indica Ruta y [Sub]Carpetas a listar...", "C:\"))
If Right(ruta, 1) <> "\" Then ruta = ruta & "\"
nombre = ruta & "*.*"

op2: podrias tambien poner [p.e.] en 'B1' la ruta que quieres listar... digamos: c:\mis documentos modificandolas a:
ruta = Range("b1")
If Right(ruta, 1) <> "\" Then ruta = ruta & "\"
nombre = ruta & "*.*"

[opcional] tambien puedes re/configurar el tipo de archivos que se busca... *.* *.xls *.txt [etc. etc. etc.]

saludos,
hector.

Sub Archivos()
ruta = "C:\*.*"
nombre = Dir(ruta)
i = 1
Do While nombre <> ""
Cells(i, 1) = nombre
i = i + 1
nombre = Dir
Loop
End Sub
Respuesta Responder a este mensaje
#2 IGGV
28/02/2007 - 20:24 | Informe spam
Estimado Herctor: Muchas gracias por tu respuesta pero tanto con la
primera opcion como con la segunda me salta un error en la linea:

nombre = Dir

justo debajo de:

i = i + 1

un saludo

Ignacio

On 27 feb, 21:26, "Héctor Miguel"
wrote:
hola, Ignacio ?

> ... macro... permite listar... los archivos de un directorio predeterminado, en este caso todo lo que cuelga de C:\
> ... me gustaria... que al ejecutar la macro me permita elegir el directorio a listar.

op1: si consideras que nunca te equivocaras cuando te lo pregunte... cambia las dos primeras instrucciones a:
ruta = Trim(InputBox("Indica Ruta y [Sub]Carpetas a listar...", "C:\"))
If Right(ruta, 1) <> "\" Then ruta = ruta & "\"
nombre = ruta & "*.*"

op2: podrias tambien poner [p.e.] en 'B1' la ruta que quieres listar... digamos: c:\mis documentos modificandolas a:
ruta = Range("b1")
If Right(ruta, 1) <> "\" Then ruta = ruta & "\"
nombre = ruta & "*.*"

[opcional] tambien puedes re/configurar el tipo de archivos que se busca... *.* *.xls *.txt [etc. etc. etc.]

saludos,
hector.



> Sub Archivos()
> ruta = "C:\*.*"
> nombre = Dir(ruta)
> i = 1
> Do While nombre <> ""
> Cells(i, 1) = nombre
> i = i + 1
> nombre = Dir
> Loop
> End Sub- Ocultar texto de la cita -

- Mostrar texto de la cita -
Respuesta Responder a este mensaje
#3 Héctor Miguel
28/02/2007 - 21:01 | Informe spam
hola, Ignacio !

... tanto con la primera opcion como con la segunda me salta un error en la linea:
nombre = Dir
justo debajo de:
i = i + 1 [...]



[disculpame]... ya no 'revise' el codigo que habias expuesto 'originalmente' :))
un error 'viene' desde el codigo que posteaste como ejemplo, ya que a las llamadas a la funcion Dir les faltan los 'parentesis'
-> debes modificar la linea debajo del i = i + 1
de: -> nombre = Dir
a: -> nombre = Dir()
-> y para el otro 'error' [en la llamada inicial] debes modificar...
de: -> nombre = ruta & "*.*"
a: -> nombre = Dir(ruta & "*.*")

saludos,
hector.

hola, Ignacio ?

> ... macro... permite listar... los archivos de un directorio predeterminado, en este caso todo lo que cuelga de C:\
> ... me gustaria... que al ejecutar la macro me permita elegir el directorio a listar.

op1: si consideras que nunca te equivocaras cuando te lo pregunte... cambia las dos primeras instrucciones a:
ruta = Trim(InputBox("Indica Ruta y [Sub]Carpetas a listar...", "C:\"))
If Right(ruta, 1) <> "\" Then ruta = ruta & "\"
nombre = ruta & "*.*"

op2: podrias tambien poner [p.e.] en 'B1' la ruta que quieres listar... digamos: c:\mis documentos modificandolas a:
ruta = Range("b1")
If Right(ruta, 1) <> "\" Then ruta = ruta & "\"
nombre = ruta & "*.*"

[opcional] tambien puedes re/configurar el tipo de archivos que se busca... *.* *.xls *.txt [etc. etc. etc.]

saludos,
hector.

Sub Archivos()
ruta = "C:\*.*"
nombre = Dir(ruta)
i = 1
Do While nombre <> ""
Cells(i, 1) = nombre
i = i + 1
nombre = Dir
Loop
End Sub
Respuesta Responder a este mensaje
#4 IGGV
01/03/2007 - 19:12 | Informe spam
Ok lo pruebo y te cuento,
Muchas gracias por tu ayuda

On 28 feb, 17:01, "Héctor Miguel"
wrote:
hola, Ignacio !

> ... tanto con la primera opcion como con la segunda me salta un error en la linea:
> nombre = Dir
> justo debajo de:
> i = i + 1 [...]

[disculpame]... ya no 'revise' el codigo que habias expuesto 'originalmente' :))
un error 'viene' desde el codigo que posteaste como ejemplo, ya que a las llamadas a la funcion Dir les faltan los 'parentesis'
-> debes modificar la linea debajo del i = i + 1
de: -> nombre = Dir
a: -> nombre = Dir()
-> y para el otro 'error' [en la llamada inicial] debes modificar...
de: -> nombre = ruta & "*.*"
a: -> nombre = Dir(ruta & "*.*")

saludos,
hector.



> hola, Ignacio ?

> > ... macro... permite listar... los archivos de un directorio predeterminado, en este caso todo lo que cuelga de C:\
> > ... me gustaria... que al ejecutar la macro me permita elegir el directorio a listar.

> op1: si consideras que nunca te equivocaras cuando te lo pregunte... cambia las dos primeras instrucciones a:
> ruta = Trim(InputBox("Indica Ruta y [Sub]Carpetas a listar...", "C:\"))
> If Right(ruta, 1) <> "\" Then ruta = ruta & "\"
> nombre = ruta & "*.*"

> op2: podrias tambien poner [p.e.] en 'B1' la ruta que quieres listar... digamos: c:\mis documentos modificandolas a:
> ruta = Range("b1")
> If Right(ruta, 1) <> "\" Then ruta = ruta & "\"
> nombre = ruta & "*.*"

> [opcional] tambien puedes re/configurar el tipo de archivos que se busca... *.* *.xls *.txt [etc. etc. etc.]

> saludos,
> hector.

>> Sub Archivos()
>> ruta = "C:\*.*"
>> nombre = Dir(ruta)
>> i = 1
>> Do While nombre <> ""
>> Cells(i, 1) = nombre
>> i = i + 1
>> nombre = Dir
>> Loop
>> End Sub- Ocultar texto de la cita -

- Mostrar texto de la cita -
Respuesta Responder a este mensaje
#5 IGGV
06/03/2007 - 21:04 | Informe spam
Funciono :))))) Muchas Gracias, ahora una pequeña variante si no es
abuso.
Este codigo me lista archivos, pero no me lista los sub directorios,
que habria que agregarle?

Desde ya muchas gracias

ignacio
On 1 mar, 15:12, "IGGV" wrote:
Ok lo pruebo y te cuento,
Muchas gracias por tu ayuda

On 28 feb, 17:01, "Héctor Miguel"
wrote:



> hola, Ignacio !

> > ... tanto con la primera opcion como con la segunda me salta un error en la linea:
> > nombre = Dir
> > justo debajo de:
> > i = i + 1 [...]

> [disculpame]... ya no 'revise' el codigo que habias expuesto 'originalmente' :))
> un error 'viene' desde el codigo que posteaste como ejemplo, ya que a las llamadas a la funcion Dir les faltan los 'parentesis'
> -> debes modificar la linea debajo del i = i + 1
> de: -> nombre = Dir
> a: -> nombre = Dir()
> -> y para el otro 'error' [en la llamada inicial] debes modificar...
> de: -> nombre = ruta & "*.*"
> a: -> nombre = Dir(ruta & "*.*")

> saludos,
> hector.

> > hola, Ignacio ?

> > > ... macro... permite listar... los archivos de un directorio predeterminado, en este caso todo lo que cuelga de C:\
> > > ... me gustaria... que al ejecutar la macro me permita elegir el directorio a listar.

> > op1: si consideras que nunca te equivocaras cuando te lo pregunte... cambia las dos primeras instrucciones a:
> > ruta = Trim(InputBox("Indica Ruta y [Sub]Carpetas a listar...", "C:\"))
> > If Right(ruta, 1) <> "\" Then ruta = ruta & "\"
> > nombre = ruta & "*.*"

> > op2: podrias tambien poner [p.e.] en 'B1' la ruta que quieres listar... digamos: c:\mis documentos modificandolas a:
> > ruta = Range("b1")
> > If Right(ruta, 1) <> "\" Then ruta = ruta & "\"
> > nombre = ruta & "*.*"

> > [opcional] tambien puedes re/configurar el tipo de archivos que se busca... *.* *.xls *.txt [etc. etc. etc.]

> > saludos,
> > hector.

> >> Sub Archivos()
> >> ruta = "C:\*.*"
> >> nombre = Dir(ruta)
> >> i = 1
> >> Do While nombre <> ""
> >> Cells(i, 1) = nombre
> >> i = i + 1
> >> nombre = Dir
> >> Loop
> >> End Sub- Ocultar texto de la cita -

> - Mostrar texto de la cita -- Ocultar texto de la cita -

- Mostrar texto de la cita -
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida