Excel - Macro que pueda abrir archivos y carpetas

 
Vista:
Imágen de perfil de Claudio
Val: 5
Ha aumentado su posición en 2 puestos en Excel (en relación al último mes)
Gráfica de Excel

Macro que pueda abrir archivos y carpetas

Publicado por Claudio (2 intervenciones) el 22/09/2020 08:53:53
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:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Macro que pueda abrir archivos y carpetas

Publicado por Antoni Masana (2478 intervenciones) el 22/09/2020 18:30:18
No entiendo a que te refieres con abrir carpetas.

Puedes leer los ficheros PDF que contiene una carpeta así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Option Explicit
 
Sub macro()
    Dim Direc As String, File As String, Lin As Integer
 
    Direc = "C:\Tmp": If Right$(Direc, 1) <> "\" Then Direc = Direc & "\"
    File = Dir(Direc & "*.pdf")
    Lin = 1
    While Len(File) > 0
       Cells(Lin, "A") = File
       Lin = Lin + 1
       File = Dir()
    Wend
End Sub

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Claudio
Val: 5
Ha aumentado su posición en 2 puestos en Excel (en relación al último mes)
Gráfica de Excel

Macro que pueda abrir archivos y carpetas

Publicado por Claudio (2 intervenciones) el 22/09/2020 19:02:45
Hola Antoni, desde ya te agradezco tu respuesta.
Cuando te hablo de una carpeta, quiero decir un directorio, necesitaría que me abra un directorio y me muestre su contenido.
Con la macro que te he mostrado más arriba logro que al poner el nombre de un archivo en una lista desplegable y ejecutar la macro me abra el archivo o libro de Excel que tengo configurado, con la macro de abajo he logrado que me abra la carpeta o directorio que se indica en la ruta configurada "ruta de carpeta o directorio"

1
2
3
4
5
6
7
8
9
10
11
Sub AbrirArch()
Dim Arch As FileDialog
 
ChDir ThisWorkbook.Path
Set Arch = Application.FileDialog(msoFileDialogOpen)
Arch.AllowMultiSelect = True
Arch.InitialFileName = "ruta de la carpeta o directorio"
 
If Arch.Show = 0 Then Exit Sub
 
End Sub

Lo que necesito es una macro que si coloco en la lista desplegable el nombre de un archivo, lo busque y lo abra y si coloco el nombre de una carpeta o directorio, la abra y me muestre el contenido, no se si me he explicado bien, agradezco tu interés.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar