Страница 1 из 1

EXCEL -как получить полное имя файла

Добавлено: 29 апр 2008, 11:33
anval
Имеется несколько файлов EXCEL с одинаковыми именами – «test.xls», но расположенных в разных каталогах. Как узнать полное имя загруженного в данный момент файла и имя родительского каталога этого файла?
Спасибо

Re: EXCEL -как получить полное имя файла

Добавлено: 29 апр 2008, 11:48
VictorM
можно вот так:

Код: Выделить всё

iFullName = ThisWorkbook.FullName
iFullName = ActiveWorkbook.FullName

Re: EXCEL -как получить полное имя файла

Добавлено: 29 апр 2008, 17:03
anval
VictorM, спасибо!
Предложенные Вами варианты проходят, если макрос- в этой же книге(подойдет 1-ый вариант) или книга - активная(подойдет 2-ой вариант), а как быть, если эти условия не выполняются?
Моя ситуация-открыты 3 эксцелевских файла - один из них содержит макросы("Macr.xls"), другой-вспомогательные данные("test.xls") и третий - обрабатываемые данные("work.xls")-активная книга. Я могу, конечно, временно активировать "test.xls" , "снять" его полное имя, а потом из него вычленить имя каталога, в котором "test.xls" находится, потом восстановить активность "work.xls" - но нету ли чего попроще?

Re: EXCEL -как получить полное имя файла

Добавлено: 29 апр 2008, 19:45
Aent
Для любой загруженной в этом сеансе работы книги

Код: Выделить всё

Dim i as integer
for i = 1 to Workbooks.Count
  Debug.Print Workbooks(i).FullName
next i

Re: EXCEL -как получить полное имя файла

Добавлено: 29 апр 2008, 22:11
Serge_Bliznykov
или, что по сути тоже самое - показать полный путь к открытой книге с именем test.xls
местонахождение данного макроса абсолютно любое...

Код: Выделить всё

Sub ShowFullName4Test()
  Dim w As Workbook
  For Each w In Workbooks
    If UCase(w.Name) = UCase("test.xls") Then
      MsgBox "Full Name " & w.FullName
    End If
  Next w
End Sub

Re: EXCEL -как получить полное имя файла

Добавлено: 30 апр 2008, 04:02
Dim_ok
если не ошибаюсь можно в любой ячейке открытого файла прописать формулу
=ЯЧЕЙКА("имяфайла") - выдаст полный путь

Re: EXCEL -как получить полное имя файла

Добавлено: 30 апр 2008, 09:34
Serge_Bliznykov
Dim_ok, не.. мне кажется, что так не пойдёт - ибо 1) не соответствует постановке задачи - получить имя книги из макроса, причём эта книга неактивна (смотри пост #3)...
2) плюс, хотя в данном случае это неважно, но надо учитывать,
что ЯЧЕЙКА("имяфайла") - работает только для сохранённых книг!

впрочем, вариантов уже достаточно - anval есть из чего выбрать...

Re: EXCEL -как получить полное имя файла

Добавлено: 30 апр 2008, 12:09
Dim_ok
Странно, а мне показалось "Как узнать полное имя загруженного в данный момент файла и имя родительского каталога этого файла?" предполагает его (файла) активность и не имеет никакого упоминания о макросах (смотри пост #1)...
впрочем да, выбирать есть из чего

Re: EXCEL -как получить полное имя файла

Добавлено: 30 апр 2008, 13:46
anval
Всем - спасибо за участие, Aent и Serge_Bliznykov - за ответы, которые мне подходят.