Buscar ruta en C con vba excel

Tengo la siguiente necesidad. Al ingresar a un libro en Excel deseo que al abrirlo, este compruebe si el libro: "Inventario" se localiza en: "C:\Controles\" y de no ser así me abra una ventana para seleccionar su ruta actual. ¿Cómo lo hago?

1 respuesta

Respuesta
1

Te doy un link de un libro que hice de ejemplo:

https://drive.google.com/open?id=1myMCdD70L5qULQ38jB11F1ycbk6gko_g

Al abrir este libro automáticamente comprueba si encuentra el archivo, si es así lo abre y finaliza con un mensaje; si no lo encuentra abrirá el cuadro de dialogo "Abrir" para seleccionar el archivo a abrir. Como indicaste en tu pregunta la ruta del libro "Inventario.xlsm" debería ser "C:\Controles\".

Aquí una imagen de los códigos (macros):

Espero sea lo que necesitas, comenta los resultados y si te sirvió califica mi respuesta

Como hago para que en un MsgBox me de la nueva ruta después de haberla seleccionado.

Reemplaza el código de la macro por este:

Sub book_inv()
'Por Victor Maldonado
Application.ScreenUpdating = False
Dim book, rutaLibro, boxDialog As String
book = "Inventario" & ".xlsm"
rutaLibro = "C:\Controles\"
If Dir(rutaLibro & book) = "" Then
    boxDialog = Application.GetOpenFilename("Todos los archivos (*.*), *.*", Title = "Abrir...")
    If boxDialog = "" Then
        Exit Sub
    ElseIf Not boxDialog = "Falso" Then
        Workbooks.Open boxDialog
        MsgBox "La nueva ruta del archivo Inventario es: " & boxDialog, vbInformation, "Nueva ubicación..."
    End If
Else
    Workbooks.Open rutaLibro & book
    MsgBox "Se ha abierto el libro Inventario", vbInformation, "Aviso..."
End If
End Sub

Lo unico que habia que agregar era este código:

MsgBox "La nueva ruta del archivo Inventario es: " & boxDialog, vbInformation, "Nueva ubicación..."

Debajo de:

ElseIf Not boxDialog = "Falso" Then
            Workbooks.Open boxDialog

Saludos y espero te sea de utilidad, no olvides calificar mi respuesta.

Víctor M.

Funciona si deseara escribirlo en una celda? Hoja1 > A1 por ejemplo!

Para escribir la ruta en una celda el código seria este:

Sheets("Hoja1").Range("A1") = boxDialog

Debajo del codigo que te envie anteriormente

Debajo del msgbox que te muestra la ruta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas