I wrote a macro as an add-in, and I need to get the path of the current worksheet on which it is being executed. How do I do this? How do I get the file path (just the directory)?
do you mean that, given a worksheet, you want to know the folder where the parent workbook is saved?
– Mathias
4 Answers
301
votes
Use Application.ActiveWorkbook.Path for just the path itself (without the workbook name) or Application.ActiveWorkbook.FullName for the path with the workbook name.
38
votes
Always nice to have:
Dim myPath As String
Dim folderPath As String
folderPath = Application.ActiveWorkbook.Path
myPath = Application.ActiveWorkbook.FullName
29
votes
If you want to get the path of the workbook from where the macro is being executed - use Application.ThisWorkbook.Path. Application.ActiveWorkbook.Path can sometimes produce unexpected results (e.g. if your macro switches between multiple workbooks).
1
votes
The quickest way
path = ThisWorkbook.Path & "\"
We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.OkRead more