2010-05-11 51 views

Respuesta

192

Uso Application.ActiveWorkbook.Path por sólo el camino en sí mismo (sin el nombre del libro) o Application.ActiveWorkbook.FullName para la trayectoria con el nombre del libro.

+8

Activeworkbook depende de qué libro esté activo. USe Thisworkbook.path –

+3

Ambos son útiles en diferentes situaciones, por supuesto. Tomé la pregunta original en el sentido de que la macro residía en un libro de trabajo complementario (que sería ThisWorkbook.path), pero necesitaba ejecutar código contra otros libros según lo necesitara el usuario (que sería ActiveWorkbook.path). – BradC

+1

Siempre debe ser explícito: si se trata de este libro de trabajo, debe ser application.thisworkbook.path. Si se abre un libro de trabajo, el nombre debe definirse con un conjunto, luego application.Variablename.path (o fullpath, dependiendo). – Selkie

28

siempre es bueno tener:

Dim myPath As String  
Dim folderPath As String 

folderPath = Application.ActiveWorkbook.Path  
myPath = Application.ActiveWorkbook.FullName 
20

Si desea obtener la ruta del libro desde donde se ejecuta la macro - utilizar Application.ThisWorkbook.Path.
Application.ActiveWorkbook.Path a veces puede producir resultados inesperados (por ejemplo, si su macro cambia entre varios libros de trabajo).

Cuestiones relacionadas