Abrir la dirección de una carpeta

Quiero Una Macro que me abra la dirección que una capeta que esta escrito en una Celda

Ejemplo en la Ceda dice los siguiente:

Celda A1 =  C:\Users\USER\Desktop

2 respuestas

Respuesta
3

¿Qué "abra la dirección"?

¿Quieres qué te abra una ventana para seleccionar un archivo y que te muestre los archivos que están en una carpeta?

Prueba con esto:

Sub abrearchivo()
'Por.Dant Amor
    ruta = Range("A1")
    With Application.FileDialog(msoFileDialogFilePicker)
        .Title = "Seleccione archivo de excel"
        .Filters.Clear
        .Filters.Add "All Files", "*.*"
        .Filters.Add "xls.*", "*.xls*"
        .FilterIndex = 2
        .AllowMultiSelect = False
        .InitialFileName = ruta
        '.Show
        If .Show Then
            Workbooks.Open .SelectedItems.Item(1)
        End If
    End With
End Sub

Quiero que me abra archivos JPG

Modifique el formato en la macro

.Filters.Add "Jpg.*", "*.JPEG*"

sale error porque quiere abrir la imagen con excel 

La forma de abrir una imagen es diferente a abrir un archivo de excel.

Te cambio la macro, para que te abra la carpeta en la ruta donde tienes tu archivo, ya estando en la ventana, puedes navegar a la carpeta que requieras.

Cambia en la macro "B1" por la celda en la que quieras que se inserte la imagen.

Sub abrearchivo()
'Por.Dant Amor
    With Application.FileDialog(msoFileDialogFilePicker)
        .Title = "Seleccione archivo"
        .Filters.Clear
        .Filters.Add "Todos los archivos", "*.*"
        .Filters.Add "Imágenes jpg", "*.jp*"
        .FilterIndex = 2
        .AllowMultiSelect = False
        .InitialFileName = ThisWorkbook.Path
        '.Show
        If .Show Then
            'Workbooks.Open .SelectedItems.Item(1)
            '
            'Celda para poner la foto
            With Range("B1")
                arr = .Top
                izq = .Left
                anc = .Width
                alt = .Height
            End With
            '
            ActiveSheet.Pictures.Insert(.SelectedItems.Item(1)).Select
            With Selection
                .Placement = xlMoveAndSize
                .PrintObject = True
                .ShapeRange.LockAspectRatio = msoFalse
                .ShapeRange.Top = arr
                .ShapeRange.Left = izq
                .ShapeRange.Height = alt
                .ShapeRange.Width = anc
                .ShapeRange.Rotation = 0#
            End With
            '
        End If
    End With
End Sub

Si quieres que empiece en la carpeta que tienes en la celda A1, entonces utiliza esta macro:

Sub abrearchivo()
'Por.Dant Amor
    ruta = [A1]
    With Application.FileDialog(msoFileDialogFilePicker)
        .Title = "Seleccione archivo"
        .Filters.Clear
        .Filters.Add "Todos los archivos", "*.*"
        .Filters.Add "Imágenes jpg", "*.jp*"
        .FilterIndex = 2
        .AllowMultiSelect = False
        .InitialFileName = ruta
        '.Show
        If .Show Then
            'Workbooks.Open .SelectedItems.Item(1)
            '
            'Celda para poner la foto
            With Range("B1")
                arr = .Top
                izq = .Left
                anc = .Width
                alt = .Height
            End With
            '
            ActiveSheet.Pictures.Insert(.SelectedItems.Item(1)).Select
            With Selection
                .Placement = xlMoveAndSize
                .PrintObject = True
                .ShapeRange.LockAspectRatio = msoFalse
                .ShapeRange.Top = arr
                .ShapeRange.Left = izq
                .ShapeRange.Height = alt
                .ShapeRange.Width = anc
                .ShapeRange.Rotation = 0#
            End With
            '
        End If
    End With
End Sub

Saludos.Dante Amor

Excelente, me sirvió en serio esta macro para otra cosa que tenia pendiente también.

Pero lo que quiero es abra la imagen pero con el visor de imagen ya sea con "Visualizador de Fotos de Windows, etc."

Desde ya Muchas Gracias.

Ya valore la respuesta.

Lo que pediste originalmente es esto:

"Quiero Una Macro que me abra la dirección que una capeta que esta escrito en una Celda"

Y ahora pediste esto:

"quiero es abra la imagen pero con el visor de imagen ya sea con "Visualizador de Fotos de Windows, etc."


Son cosas totalmente diferentes.

Podrías crear una pregunta nueva y específicas claramente lo que necesitas

Respuesta
1

Como estás con este código podrás hacerlo:

'cells (1,1) hace referencia a la celda A1 donde esta la ruta y se carga en la variable ruta luego con el otro comando abris el libro al que apunta la ruta.

ruta = cells(1,1) 
Workbooks.Open Filename:=ruta, UpdateLinks:=0

En este link hay un ejemplo que llama al explorador de windows abre un libro copia datos necesario y lo cierra, fijate en la parte donde abre el libro el procedimiento es lo que tu necesitas

http://www.programarexcel.com/2014/06/explorador-windows-abre-libro-copia-y.html 

http://www.programarexcel.com/2014/03/llenar-combobox-seleccionando-archivo.html 

http://www.programarexcel.com/2014/02/buscar-archivo-en-directorio-y-si-no.html 

http://www.programarexcel.com/2014/04/explorador-de-archivos-multiselect.html  

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas