Как получить путь к текущему рабочему листу в VBA?

Я написал макрос как надстройку, и мне нужно получить путь к текущему рабочему листу, на котором он выполняется. Как мне это сделать? Как мне получить путь к файлу (только каталог)?

Ответ 1

Используйте Application.ActiveWorkbook.Path только для самого пути (без имени книги) или Application.ActiveWorkbook.FullName для пути с именем книги.

Ответ 2

Всегда приятно иметь:

Dim myPath As String     
Dim folderPath As String 

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

Ответ 3

Если вы хотите получить путь к книге, из которой выполняется макрос, используйте Application.ThisWorkbook.Path.
Application.ActiveWorkbook.Path может иногда приводить к неожиданным результатам (например, если ваш макрос переключается между несколькими книгами).