¿Te atreves a demostrar lo que sabes resolviendo alguno de estos
temas abiertos/no resueltos?

Macro para abrir ar...
 
Compartir:
Avisos
Vaciar todo

Macro para abrir archivos y carpetas  

  RSS
Claudio
(@claudio)
Miembro activo Registered

Buenas a tod@s, resulta que he creado una macro para un programa de entrenamiento que he configurado en excel y necesito que ABRA ARCHIVOS Y CARPETAS EN LA MISMA MACRO, he logrado que abra los archivos, esto ya lo tenía funcionando hace mucho tiempo, pero ahora quisiera que abra algunas carpetas (solo las carpetas) y me muestre los archivos que tengo dentro que son unos .PDF. Todos están en una carpeta diferente y no logro integrar el código de seleccionar los archivos y las carpetas para que esta funcione en la misma macro. Para hacer la selección de los diferentes archivos tengo hecho una lista desplegable en la celda AH3 y al colocar el nombre del archivo y clicar sobre un botón que ejecuta la macro me abre el archivo, pero me gustaría incorporar a la misma lista los nombres de algunas carpetas y que se abran de la misma forma, no logro que haga lo mismo con las carpetas. 

el código que he utilizado es éste:

  

Sub AbrirDisAnsPro()

 Dim ConsultaDisAnsPro As String

Dim AbrirDisAnsPro As Excel.Workbook

 

ConsultaDisAnsPro = Cells(3, 34)

 

If ConsultaDisAnsPro = "xxxx" Then

Set AbrirDisAnsPro = Workbooks.Open("P:\xxx\xx\nombre archivo xxxx.xlsm")

 ElseIf ConsultaDisAnsPro = "xxx1" Then

Set AbrirDisAnsPro = Workbooks.Open(""P:\xxx\xx\nombre archivo xxx1.xlsm"")

 ElseIf ConsultaDisAnsPro = "xxx2" Then

Set AbrirDisAnsPro = Workbooks.Open(""P:\xxx\xx\nombre archivo xxx2.xlsm"")

 ElseIf ConsultaDisAnsPro = "xxx3" Then

Set AbrirDisAnsPro = Workbooks.Open(""P:\xxx\xx\nombre archivo xxx3.xlsm"")

    Else

       MsgBox ("No existe esta opción o es éste archivo")

   End If

End Sub

 

He utilizado alguna propuesta que funciona abriendo carpetas, pero no de la manera que me gustaría QUE ES INTEGRADA EN LA MISMA MACRO, es decir que que al poner al poner el nombre de una carpeta o archivo en la misma lista desplegable que se encuentra en la celda AH3 la macro busque ese archivo o carpeta y lo abra. Si es un archivo ya lo hace, pero quería agrandar, (o cambiar), el código para incorporar la apertura de carpetas.

Es decir que, al mostrar el nombre de una carpeta en la lista, en este caso el nombre sería "XXX", se abra la carpeta "del mismo nombre", que está en la ruta "P:\xx\xxx\xxx", A PARTIR DE AQUÍ ES CUANDO LA COSA NO FUNCIONA,

 A lo mejor esto no se puede hacer, pero me gustaría intentarlo, ¿me podrían ayudar?, espero haber sido explícito, les dejo un saludo y desde ya gracias.

Citar
Respondido : 22/09/2020 5:02 pm
MacroMaster
(@macromaster)
Miembro activo Registered

Claudio,

 

Para abrir una carpeta no puedes usar el mismo método que para abrir un libro Excel, que es lo que estas haciendo con Workbooks.Open abrir un libro).

Igual lo mas sencillo, para incorporar a tu código sería, para los casos de carpetas, usar la siguiente línea:

Shell "explorer " & "RUTA_COMPLETA_DE_LA_CARPETA", vbMaximizedFocus

Esto te va a abrir la carpeta maximizada

ResponderCitar
Respondido : 22/09/2020 8:56 pm
Claudio
(@claudio)
Miembro activo Registered

@macromaster

Hola Master, gracias por tu respuesta, bueno me imaginé que no era fácil y se que con workbooks.Open es para abrir un archivo, he probado tu fórmula y me lleva a la carpeta de documentos, por más que he puesto en la línea la ruta de la carpeta que debería abrir, la he compuesto así para probar si funcionaba con F5

Sub abrircarpeta()

Shell "explorer " & "P:\EntrenamientoS\ARCHIVOS\Archivos ANSALDI, Celeste\Archivo flexibilidad ANSALDI, Celeste", vbMaximizedFocus

End Sub

y como te digo abre documentos, hay algo que no he hecho bien, un abrazo

 

ResponderCitar
Respondido : 22/09/2020 10:37 pm
MacroMaster
(@macromaster)
Miembro activo Registered

Si te está llevando a la carpeta de documentos es que tienes un error en la ruta que le estas poniendo:

"P:\EntrenamientoS\ARCHIVOS\Archivos ANSALDI, Celeste\Archivo flexibilidad ANSALDI, Celeste"

Abre el explorador, vete a la carpeta que quieres, ponte en la barra de direcciones (donde te pone la ruta completa) y con botón derecho dile Copiar dirección como texto. Copia exactamente eso y prueba.

ResponderCitar
Respondido : 23/09/2020 7:37 am
Claudio
(@claudio)
Miembro activo Registered

@macromaster

Hola Maestro, lo he puesto así,

Sub abrircarpeta()

Shell "explorer " & "P:\EntrenamientoS\ARCHIVOS\Archivos ANSALDI, Celeste\Archivo flexibilidad ANSALDI, Celeste", vbMaximizedFocus

End Sub

y he copiado la ruta tal cual me has dicho, sigue llevándome a documentos 😌 😌 😌 

 

ResponderCitar
Respondido : 23/09/2020 8:45 am
Claudio
(@claudio)
Miembro activo Registered

Hola Maestro, creo que ya se cual es el error, la carpeta está en una unidad de Pcloud, que es una aplicación de la nube, he probado con una carpeta ubicada en una unidad física y funciona perfectamente, pero en esta no, o sea que por algún motivo no toma la ruta de unidades de almacenamiento en red, gracias mil

 

ResponderCitar
Respondido : 23/09/2020 8:55 am
RET
 RET
(@ret)
Miembro Admin

@claudio, si P es una unidad en la nube o n red, probablemente P es su "alias" para ti. Sustituye ese alias por su dirección IP, es decir

en vez de:

"P:\EntrenamientoS\ARCHIVOS\Archivos ANSALDI, Celeste\Archivo flexibilidad ANSALDI, Celeste"

prueba con 

"\\XXX.XXX.XXX.XXX\EntrenamientoS\ARCHIVOS\Archivos ANSALDI, Celeste\Archivo flexibilidad ANSALDI, Celeste"

 

IMF_RET

https://InformaticaMuyFacil.com

ResponderCitar
Respondido : 23/09/2020 2:14 pm
Claudio
(@claudio)
Miembro activo Registered

Gracias RET, por contestar,

te agradezco la respuesta, ya que esta pregunto, se puede hacer una macro para abrir diferentes carpetas o directorios que aparezcan en una lista desplegable o desde un combox donde estén sus nombres, gracias

ResponderCitar
Respondido : 23/09/2020 2:18 pm

Dejar una respuesta

Nombre del autor

Correo electrónico del autor

Título *

 
Vista previa 0 revisiones Guardado