Трюк №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).