Obtener ruta carpeta getopenfilename vba excel

Tengo avanzado un código que hace un reporte fotográfico.
Hasta ahora la ruta del contenedor de fotos esta dentro del código, pero yo deseo poder usar la aplicación de abrir archivo para poder seleccionar la carpeta contenedora en el momento de la ejecución de la macro.
He visto códigos que abren archivos usando getopenfilename, pero no quiero abrir archivo, lo que quiero es que guarde en una variable la carpeta que se seleccione, para poderla usar después en el resto de la macro.

2 Respuestas

Respuesta
1
Prueba esto
Sub SeleccionarDirectorio() 'definimos las variables que emplearemos
Dim Titulo, Directorio As String
Titulo = "Selecciona la ruta de tu carpeta"
On Error Resume Next 'evitaría un error en caso de no seleccionar nada o pulsar ESC
With CreateObject("shell.application")
Directorio = .browseforfolder(0, Titulo, 0).Items.Item.Path
End With: On Error GoTo 0 'la siguiente instruccíon IF ejecuta una acción a modo de ejemplo
If Directorio = "" Then
MsgBox "No has marcado ningún directorio.", , "Operación no válida"
Else
MsgBox "Ha seleccionado la siguiente ruta " & Directorio
End If
End Sub
Excelente maestro.
Ahora si no fuera mucha molestia, ya para calificar con la máxima puntuación, explicarme lo que hacen las instrucciones: y el porque el on error to go 0, ¿eso quiere decir que si hay error vaya a la linea 0 o al fin del código?, porque al inicio de mi código yo
With CreateObject("shell.application")
Directorio = .browseforfolder(0, Titulo, 0).Items.Item.Path
End With: On Error GoTo 0
Muchas gracias por tu atención.
Busque en el f1 del excel, pero no figuro browseforfolder...
Víctor
Eso es si se produce algún error al momento de seleccionar la ruta por ejemplo (que este vacía) te de un mensaje "No has marcado ningún directorio.",, "Operación no válida"
Respuesta

Eduardo Caballero

Hola Eduardo requiero de su indudable ayuda:

Al presionar la tecla ESC estando en la selección del folder a utilizar se interrumpe el código y aparece un mensaje de alerta donde indica lo de la siguiente imagen:

Sí presiono continuar ejecuta el MsgBox "No has marcado ningún directorio.",, "Operación no válida".

Lo que quisiera evitar es el mensaje de alerta de la imagen al presionar ESC, ¿Se podría?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas