Трюк №91. Получение имени и пути рабочей книги Excel

Иногда бывает необходимо, чтобы ячейка могла вернуть имя рабочей книги или даже имя файла и путь для этой рабочей книги. При помощи этого трюка вы легко получите имя и путь рабочей книги.

Три пользовательские функции, с которыми мы познакомимся в этой статье, помещают в ячейку имя рабочей книги или имя файла и путь для этой рабочей книги. Два первых примера, MyName и MyFullName, не требуют никаких аргументов.

Последний, SheetName, используется, чтобы при получении имени листа не вкладывать ПСТР (MID) и другие функции в функцию ЯЧЕЙКА (CELL), так как это обычно требует использования следующей громоздкой формулы: =MID(CELL("filename";$A$1);FIND("]";CELL("filename";$A$1))+1;255), в русской версии Excel =ПСТР(ЯЧЕЙКА("имяфайла";$А$1);НАЙТИ("]";ЯЧЕЙКА("имяфайла";$А$1))+1;255). Как видно, для получения простейшего результата приходится довольно много потрудиться, поэтому мы самостоятельно разработали пользовательскую функцию SheetName.

Чтобы применить эти пользовательские функции, нажмите сочетание клавиш Alt/Option+Fll, выберите команду Insert > Module и вставьте код, приведенный в листинге 7.19.

1
2
3
4
5
6
7
8
9
10
11
//Листинг 7.19
Function MyName() As String
MyName - ThisWorkbook.Name
End Function
Function MyFullName() As String
MyFullName = ThisWorkbook.FullName
End Function
Function SheetName(rAnyCell)
	Application.Volatile
	SheetName = rAnyCell.Parent.Name
End Function

Сохраните функцию и закройте окно. Теперь эта функция появится в области Определенные пользователем (User Defined) диалогового окна Мастер функций (Paste Function) (сочетание клавиш Shift+F3).

Top