Arbol de directorios

19/05/2006 - 19:24 por adicto | Informe spam
Hola amigos :
He implementado un codigo con ayuda del Help de VBA y me ha dado lo siguiente..

Sub obtenerdirectorio(
With Application.FileDialog(msoFileDialogFolderPicker
.InitialFileName = Application.DefaultFilePath & "\
.Title = "Seleccione un directorio para la copia
.Sho
If .SelectedItems.Count = 0 The
MsgBox "Cancelado
Els
dir_elegido = .SelectedItems(1
versubdir (dir_elegido
End I
End Wit
End Su
Public Function versubdir(dir_elegido
MiRuta = dir_elegido & "\
minombre = Dir(MiRuta, vbDirectory
Do While minombre <> "
If minombre <> "." And minombre <> ".." The
If (GetAttr(MiRuta & minombre) And vbDirectory) = vbDirectory The
MsgBox minombr
End I
End I
minombre = Di
Loo
End Functio

Con esto, obtengo una lista de los subdirectorios que contiene el directorio que elijo en el cuadro inicial, mi pregunta es

Se puede implementar recursivamente esta funcion para armar el arbol de directorios de la ubicacion seleccionada ???..

Gracias..

adicto

Ver este tema: http://www.softwaremix.net/viewtopic-517011.htm

Enviado desde http://www.softwaremix.net

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
20/05/2006 - 06:53 | Informe spam
hola, ?

... un codigo con ayuda del Help de VBA y me ha dado lo siguiente...
Con esto, obtengo una lista de los subdirectorios que contiene el directorio que elijo en el cuadro inicial, mi pregunta es :
Se puede implementar recursivamente esta funcion para armar el arbol de directorios de la ubicacion seleccionada ???...



1) solo cambia la instruccion con el -> MsgBox minombre -> EN la funcion 'Public Function versubdir(dir_elegido)' ;)
-> por las instrucciones 'propias' [segun como y donde consideres que se debera 'armar' el arbol de directorios] -?-

2) [creo que] lo importante sera el 'que necesitas hacer' con el arbol de directorios -> una vez 'armado' -?-
- presentarlo al usuario ?
- guardarlo en alguna variable/matriz/... ?
- podra/debera/... el usuario hacer una seleccion de ese arbol de directorios armado/presentado/... ?
- como, donde y cuando ? -> formulario, inputbox, ... -?-

3) comentario al margen: los metodos que usas: [como Application.FileDialog] SOLO estan disponibles a partir de excel 2002
[por si fuera necesario o tienes programado que tu aplicacion se pueda usar en versiones anterioes] -?-

4) si solo necesitas que el usuario 'navegue' para seleccionar algun directorio...
la forma mas sencilla que me puedo imaginar es la siguiente:
en un modulo de codigo 'normal' ==Sub ObtenerDirectorio()
Dim Directorio As String, Titulo As String
Titulo = "Selecciona por favor una carpeta"
On Error Resume Next ' por si el usuario pulsa {Esc} y no selecciona nada :)) '
With CreateObject("Shell.Application")
Directorio = .BrowseForFolder(0, Titulo, 0, "c:").items.Item.Path
End With: On Error GoTo 0
If Directorio = "" Then
MsgBox "No se ha seleccionado ningun directorio.", , "Operacion cancelada !!!"
Else
MsgBox Directorio
End If
End Sub

[tip]: si quieres que el 'mini-explorador' de windows presente el directorio de 'Mis documentos' -> del usuario en windows...
deja 'vacio' el parametro de inicio ["c:"] en la instruccion-> Directorio = .BrowseForFolder(0, Titulo, 0, "").items.Item.Path

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

__ el codigo expuesto __
Sub obtenerdirectorio()
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = Application.DefaultFilePath & "\"
.Title = "Seleccione un directorio para la copia"
.Show
If .SelectedItems.Count = 0 Then
MsgBox "Cancelado"
Else
dir_elegido = .SelectedItems(1)
versubdir (dir_elegido)
End If
End With
End Sub
Public Function versubdir(dir_elegido)
MiRuta = dir_elegido & "\"
minombre = Dir(MiRuta, vbDirectory)
Do While minombre <> ""
If minombre <> "." And minombre <> ".." Then
If (GetAttr(MiRuta & minombre) And vbDirectory) = vbDirectory Then
MsgBox minombre
End If
End If
minombre = Dir
Loop
End Function
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida