Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

как получить путь до файла?

248
18 декабря 2012 года
Dmitry2064
590 / / 06.12.2006
На Маке пробую узнать путь до файла и команда mPath = ActiveDocument.FullName и mPath = ActiveDocument.Path почему выдают полный путь вместе с именем файла. Поэтому пробую избавиться от "хвоста". Как можно это записать?
пробую так:

 
Код:
mPath = ActiveDocument.FullName
mPath2 = Split(mPath, "\")
mcnt = UBound(mPath2)
' пробую отбросить посл. элемент
'ReDim Preserve mPath2(mcnt-1) 'и тут VBA страшно ругается
mPath3 = Join(mPath2, "\")
405
18 декабря 2012 года
Dmitrii
554 / / 16.12.2004
1. Для получения пути без имени файла используйте свойство Path объекта ActiveDocument.
2. Перед изменением размерности массива проверяйте новое значение размерности на допустимость.
275
19 декабря 2012 года
pashulka
985 / / 19.09.2004
Если использование ActiveDocument.Path действительно не прокатывает, то можно попробовать :

 
Код:
iPath = ActiveDocument.FullName
iPath = Left(ActiveDocument.FullName, Len(iPath) - Len(ActiveDocument.Name))
или даже так (но имя файла не должно встречаться в именах папок, даже частично)

 
Код:
iPath = Replace(ActiveDocument.FullName, ActiveDocument.Name, "")
248
19 декабря 2012 года
Dmitry2064
590 / / 06.12.2006
Спасибо, теперь выглядит красиво ))
275
19 декабря 2012 года
pashulka
985 / / 19.09.2004
К слову сказать, если документ был сохранён, то Ваш вариант тоже должОн работать :

 
Код:
Dim iPathSeparator$, iPath 'As Variant

iPathSeparator = Application.PathSeparator
iPath = Split(ActiveDocument.FullName, iPathSeparator)

ReDim Preserve iPath(UBound(iPath) - 1)
iPath = Join(iPath, iPathSeparator)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог