variable valor una ruta para obtener nombres nombre masiva macro guardar forma con columna celda carpeta cambiar buscar archivos archivo excel-vba vba excel

excel-vba - valor - macro para obtener ruta de un archivo



Cómo obtener el nombre de archivo/ruta de Excel en VBA (6)

Creo que ActiveWorkbook.FullName sería mejor, en caso de que tenga la Macro VBA almacenada en otro Libro de Excel, pero quiera obtener los detalles del Excel que está editando, no dónde reside la Macro.

Si residen en el mismo archivo, entonces no importa, pero si están en archivos diferentes, y desea el archivo donde se encuentran los Datos en lugar de donde se encuentra la Macro, ActiveWorkbook es la opción a seguir, porque se trata de Con ambos escenarios.

Por ejemplo, estoy escribiendo un VBA dentro de mi archivo de muestra de excel.xls . Ahora quiero obtener la ruta completa de sample.xls en mi VBA. ¿Cómo lo hago?


Hay una manera universal de conseguir esto:

Function FileName() As String FileName = Mid(Application.Caption, 1, InStrRev(Application.Caption, "-") - 2) End Function


Si solo necesitas una ruta, esta es la más sencilla:

PathOnly = ThisWorkbook.Path


Si te refieres a VBA, entonces puedes usar FullName, por ejemplo:

strFileFullName = ActiveWorkbook.FullName


esta es una alternativa simple que da todas las respuestas, Nombre completo, Ruta, nombre de archivo.

Dim FilePath, FileOnly, PathOnly As String FilePath = ThisWorkbook.FullName FileOnly = ThisWorkbook.Name PathOnly = Left(FilePath, Len(FilePath) - Len(FileOnly))


strScriptFullname = WScript.ScriptFullName strScriptPath = Left(strScriptFullname, InStrRev(strScriptFullname,"/"))