【发布时间】:2011-02-18 07:50:25
【问题描述】:
我编写了一个宏作为加载项,我需要获取正在执行它的当前工作表的路径。我该怎么做呢?如何获取文件路径(只是目录)?
【问题讨论】:
-
你的意思是,给定一个工作表,你想知道父工作簿保存的文件夹吗?
我编写了一个宏作为加载项,我需要获取正在执行它的当前工作表的路径。我该怎么做呢?如何获取文件路径(只是目录)?
【问题讨论】:
Application.ActiveWorkbook.Path 仅用于路径本身(没有工作簿名称)或Application.ActiveWorkbook.FullName 用于路径工作簿名称。
【讨论】:
ActiveWorkbook。
Excel.ActiveWorkbook.Path 仅在文件至少保存一次时才有效。此外,如果文件从未保存过,Excel.ActiveWorkbook.FullName 只返回文件名。 check if the workbook has ever been saved 可能是个好主意。
总是很高兴拥有:
Dim myPath As String
Dim folderPath As String
folderPath = Application.ActiveWorkbook.Path
myPath = Application.ActiveWorkbook.FullName
【讨论】:
如果您想从执行宏的位置获取工作簿的路径 - 使用
Application.ThisWorkbook.Path
Application.ActiveWorkbook.Path 有时会产生意想不到的结果(例如,如果您的宏在多个工作簿之间切换)。
【讨论】:
最快的方法
path = ThisWorkbook.Path & "\"
【讨论】: