Cómo válido una ruta de acceso en vba excel

Tengo una situación más que todo molesta en mi documento de excel que estoy programando. En la Hoja1 en la celda N8 tengo anotada la ruta de acceso a las imágenes para no cargarlas en el libro y liberar un poco su peso. Pero también trabajo desde mi casa y utilizo el libro en mi laptop personal. Resulta que cuando lo abro en el trabajo la ruta de acceso es: N8 y la carpeta Images (Y:\Modular\Images\) pero cuando lo abro en casa en casa es (C:\Modular\Images\) entonces mi pregunta es la siguiente: Partiendo del hecho de que mi libro se llama "OPERATIVO" como hacer que en Auto_Open() pueda validar la ruta primaria: "Y:\Modular\Operativo.xlsm" y de no estar en esa ruta me de un mensaje de texto.

3 Respuestas

Respuesta
2

Puede crear una unidad virtual en su laptop. La carpeta Modular de su laptop en la unidad C tiene que compartirla, y después en la barra de direcciones del explorador de windows escribe dos diagonales invertidas y el nombre de su laptop, ejemplo si su laptop se llama tecknova escribirá \\tecknova y da enter, se aparecerá la carpeta compartida, en ella da clic derecho y clic en la opción "conectar a unidad de red", selecciona la letra Y, tendra la unidad virtual y la ruta "Y:\Modular\Operativo.xlsm"

En realidad ya lo tengo así, pero en caso de que no haya movido el archivo, en caso de que lo haya olvidado me dará un error que no permitirá iniciar la aplicación y dejaría expuesto el código programable o las hojas ocultas... necesito hacer la comprobación de unidad!

Al decir "en caso de que no haya movido el archivo, en caso de que lo haya olvidado", ¿Se refiere a que el archivo que esta en su trabajo lo tiene que llevar consigo para trabajarlo en su laptop? No me queda claro tampoco lo que comenta: "dejaría expuesto el código programable o las hojas ocultas... necesito hacer la comprobación de unidad!"

Respuesta
3

La instrucción DIR comprueba la existencia de una carpeta en un directorio.

Macro extraída del manual 500Macros:

Sub Auto_Open()
'x Elsamatilde
miDire = "Y:\Modular\"
'si la carpeta existe enviará mensaje
If Dir(miDire, vbDirectory) <> "" Then
    MsgBox "Existe carpeta en Y"
Else
    'opción: validar si existe carpeta Modular en C
    miDire = "C:\Modular\"
    If Dir(miDire, vbDirectory) <> "" Then MsgBox "Existe carpeta en Y"
End If
End Sub

¡Gracias! De verdad Elsa, como siempre sos excelente. Deseo más información para adquirir dicho manual. Email: [email protected]

Correo enviado. Si no aparece en bandeja de entrada revisa también tu carpeta Spam.

Sdos!

Respuesta
2

Guarda el archivo en el escritorio de windows mira si te sirve https://macrosenexcel.com/como-guardar-un-archivo-en-cualquier

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas