Saltar al contenido

Rutas relativas en lugar de absolutas en Excel VBA

Nuestros investigadores estrellas han agotado sus reservas de café, buscando noche y día por la resolución, hasta que Valeria encontró el arreglo en Bitbucket por lo tanto hoy la comparte aquí.

Solución:

Solo para aclarar lo que dijo yalestar, esto le dará la ruta relativa:

Workbooks.Open FileName:= ThisWorkbook.Path & "TRICATEndurance Summary.html"

Podría usar uno de estos para la raíz de la ruta relativa:

ActiveWorkbook.Path
ThisWorkbook.Path
App.Path

Creo que el problema es que abrir el archivo sin una ruta solo funcionará si su “directorio actual” está configurado correctamente.

Intente escribir “Debug.Print CurDir” en la ventana Inmediato, que debería mostrar la ubicación de sus archivos predeterminados como se establece en Herramientas…Opciones.

No estoy seguro de estar completamente satisfecho con él, tal vez porque es algo así como un comando VB heredado, pero podría hacer esto:

ChDir ThisWorkbook.Path

Creo que preferiría usar ThisWorkbook.Path para construir una ruta al archivo HTML. Soy un gran admirador de FileSystemObject en Scripting Runtime (que siempre parece estar instalado), por lo que estaría más feliz de hacer algo como esto (después de establecer una referencia a Microsoft Scripting Runtime):

Const HTML_FILE_NAME As String = "my_input.html"

With New FileSystemObject
    With .OpenTextFile(.BuildPath(ThisWorkbook.Path, HTML_FILE_NAME), ForReading)
        ' Now we have a TextStream object that we can use to read the file
    End With
End With

Eres capaz de añadir valor a nuestra información colaborando tu veteranía en las explicaciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *