[CDR X5-X8] как в VBA получить имя текущей папки

Статус
Закрыто для дальнейших ответов.

Erchizo

Участник
Топикстартер
Сообщения
58
Реакции
1
Всем добрый день!
Существует необходимость подписи картинок на листе именем папки:
в первом случае - в которой сохранен файл
во втором случае - из которой импортирован файл
Через функцию GetCurrFolder() не получилось, необходимо запускать какие-то кореловские скрипты, которых VBA не видит.
ActiveDocument.PathName - тоже не то, он дает полный путь.
Заранее спасибо!
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851

Erchizo

Участник
Топикстартер
Сообщения
58
Реакции
1
Бррр, а разве это не именно то, что вам надо? 'hmmm'
К сожалению не совсем то!
На выходе получаю "D:\Temp\Onix\13865\", а нужно просто "13865". Потом это название помещаю под картинкой.
Пример пути естественно с потолка, но в основном это очень длинные пути ((((, естественно они такие не нужны.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
На выходе получаю "D:\Temp\Onix\13865\", а нужно просто "13865"
Брррррр!!!!!!
То есть, вам нужен не просто путь, а каталог нижнего уровня от пути????
Тогда это обычная простейшая задача парсения текстовой строки
 

Erchizo

Участник
Топикстартер
Сообщения
58
Реакции
1
Буду очень признателен. Сам не могу допетрить ((.
Left() - не то, Crop - убирает только пробелы.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
Навскидку не помню есть ли такое в кореловском VBA но IMHO это стандарт
попробуйте Split
 

splxgf

12 лет на форуме
Сообщения
7 743
Реакции
3 425

Erchizo

Участник
Топикстартер
Сообщения
58
Реакции
1
А почему Left, а не Right?
В кореле сплит должен работать Split string to values - OberonPlace.com Forums
Вообще эту функцию можно навелосипедить кучей разных способов.
Right и имелся ввиду, но он не подходит.
Изображения собираются из разных папок, как следствие длина пути у каждого фала разная.
Со Split, тоже не все так хорошо. Ну разобьет он мне весь путь на отдельные части по "\" но ведь мне нужно оставить только последнюю часть массива. Естественно после "сплитования" разных файлов будут разные массивы.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
Код:
Sub fld()
Dim folders
fn = ActiveDocument.FullFileName
folders = Split(fn, "\")
MsgBox folders(UBound(folders) - 1)
End Sub
 
  • Спасибо
Реакции: splxgf и Erchizo

Erchizo

Участник
Топикстартер
Сообщения
58
Реакции
1
Шикарно. Спасибо большое!
Тема закрыта.
 

lev

Модератор
20 лет на форуме
Сообщения
2 147
Реакции
2 072
Комментарий модератора: Право на закрытие тем принадлежит модераторам. Им не требуются указания и разрешения на их закрытие. Даже то, что Вы являетесь ТопикСтартером (ТС) не означает того, что никому из участников форума не захочется когда-нибудь дополнить тему или задать дополнительные вопросы.
 
Статус
Закрыто для дальнейших ответов.