Страницы: 1
RSS
Путь к ПАПКЕ где лежит файл Excel
 
Всем добрый день. Делаю удаление файлов из папки через Excel и встала задача автоматически определять путь к ПАПКЕ где лежит файл. Путь к файлу как определить я знаю
Код
ThisWorkbook.FullName

Но данная строка мне выдает путь к файлу с названием файла. А как сделать без название файла. Дальше мне надо будет прописать так

Код
sFolder = ThisWorkbook.FullName + "\Load"  'Папка Load в которой я собираюсь удалить все файлы
 
Код
msgbox thisworkbook.Path


 
Код
sFolder = ThisWorkbook.Path  &  Application.PathSeparator &  "Load"
"Все гениальное просто, а все простое гениально!!!"
 
В данной ситуации способы предложенные выше подходят идеально, но бывает нужно разделить полное имя какого-нибудь файла на собственно имя и путь, тогда я использую Mid и InStrRev:
Код
wPath = Mid(wFullName, 1, InStrRev(wFullName, "\") - 1)
wName = Mid(wFullName, InStrRev(wFullName, "\") + 1)
Не стреляйте в тапера - он играет как может.
 
Nordheim, на 100% не уверен, так как в случае переключения между книгами не проверял, но проще так
".\Load"
По вопросам из тем форума, личку не читаю.
 
Еще вариант имени файла один покороче, другой длинней, но в принципе это одно и то же.

Код
wName = Split(wfullname, Application.PathSeparator)(UBound(Split(wfullname, Application.PathSeparator)))
wName = Split(wfullname, "\")(UBound(Split(wfullname, "\")))
"Все гениальное просто, а все простое гениально!!!"
 
Спасибо огромнео
а почему я не могу сделать так?
Код
sFolder = ThisWorkbook.Path + "\Load"
Изменено: VB777 - 12.09.2018 09:13:00 (дополнение)
 
Цитата
БМВ написал:
так как в случае переключения между книгами не проверял
А что будет при переключении между книгами? Там вроде всегда берется книга в которой код прописан.
"Все гениальное просто, а все простое гениально!!!"
 
Цитата
VB777 написал:
а почему я не могу сделать так?
Почему не можете, можете Вам представили несколько вариантов решения данной задачи, а выбирать Вам каким воспользоваться.
Я допустим предпочитаю использовать знак & (конкатенации) вместо +
"Все гениальное просто, а все простое гениально!!!"
 
Цитата
Nordheim написал:
Там вроде всегда берется книга
да, но как Вы амперсанд используете, так я не люблю не очевидное, чтоб сюрпризов не было :-)
По вопросам из тем форума, личку не читаю.
 
Nordheim, Спасибо
 
Цитата
БМВ написал:
но как Вы амперсанд используете
А что именно смущает в использовании амперсанда?
"Все гениальное просто, а все простое гениально!!!"
 
Nordheim, не смущает, на оборот, приветствуется.  Тоже не люблю + при работе со строками.
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх