2010-05-11 53 views

回答

192

使用Application.ActiveWorkbook.Path仅用于路径本身(无工作簿名称)或Application.ActiveWorkbook.FullName用于路径使用工作簿名称。

+8

Activeworkbook取决于哪个工作簿处于活动状态。 USe Thisworkbook.path – 2016-02-29 10:46:07

+3

当然,它们在不同情况下都很有用。我将原始问题表示为驻留在附加工作簿(即ThisWorkbook.path)中的宏,但需要根据用户的需要(这将是ActiveWorkbook.path)针对其他工作簿运行代码。 – BradC 2016-03-03 14:40:54

+1

应该总是显式的 - 如果是这个工作簿,它应该是application.thisworkbook.path。如果打开的是工作簿,则应使用set来定义该名称,然后使用application.Variablename.path(或fullpath,取决于)来定义该名称。 – Selkie 2017-10-19 22:36:02

28

总是很高兴有:

Dim myPath As String  
Dim folderPath As String 

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

如果你想获得工作簿,从正在执行的宏所在的路径 - 使用Application.ThisWorkbook.Path
Application.ActiveWorkbook.Path有时会产生意想不到的结果(例如,如果您的宏在多个工作簿之间切换)。

相关问题