Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 15.07.2008, 17:04   #1
jungo
Форумчанин Подтвердите свой е-майл
 
Аватар для jungo
 
Регистрация: 14.11.2007
Сообщений: 163
По умолчанию Как вытянуть название файла из линка

Привет всем!

Такая вот задачка:

В столбце "А" есть Полный линк к файлам.
C:\Documents and Settings\jungo\Desktop\New Folder\19.doc
C:\Documents and Settings\jungo\Desktop\New Folder\1.pdf
C:\Documents and Settings\jungo\Desktop\New Folder\4.pdf
C:\Documents and Settings\jungo\5.pdf
C:\Documents and Settings\jungo\Desktop\New Folder\6.pdf
C:\Documents and Settings\jungo\Desktop\New Folder\8.pdf
C:\Documents and Settings\jungo\Desktop\Alrm3.exe

Мне нужно получить только названия файлов:
19.doc
1.pdf
4.pdf
5.pdf
6.pdf
8.pdf
Alrm3.exe
Вопрос:
Как???

Пробовал:
1. Right - Не знаю как сказать "считай справа до "\"
2. Mid - Не знаю как сказать "последняя" "\"
3. VBA - Коряво получилось если кто хочет так, что бы по-ржать я покажу.
Jungo must die!!! (C) Bill Gates.
jungo вне форума
Старый 15.07.2008, 17:27   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Следующий макрос в той же строке столбца "B" поместит то, что Вы Хотите.
Код:
Sub Main()

    Dim i As Long, a() As String
    For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
        If Cells(i, "A") <> "" Then
            a = Split(Application.Trim(Cells(i, "A")), "\")
            Cells(i, "B") = a(UBound(a))
        End If
    Next

End Sub
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 15.07.2008, 20:37   #3
ZORRO2005
Форумчанин
 
Аватар для ZORRO2005
 
Регистрация: 26.11.2006
Сообщений: 584
По умолчанию

Или без VBA:
=ПСТР(A1;НАЙТИ("^";ПОДСТАВИТЬ(A1;"\ ";"^";ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;"\";""))))+1;ДЛ СТР(A1))
Вложения
Тип файла: rar last.rar (1.5 Кб, 11 просмотров)

Последний раз редактировалось ZORRO2005; 15.07.2008 в 20:40.
ZORRO2005 вне форума
Старый 16.07.2008, 09:16   #4
jungo
Форумчанин Подтвердите свой е-майл
 
Аватар для jungo
 
Регистрация: 14.11.2007
Сообщений: 163
По умолчанию

Цитата:
Сообщение от ZORRO2005 Посмотреть сообщение
Или без VBA:
=ПСТР(A1;НАЙТИ("^";ПОДСТАВИТЬ(A1;"\ ";"^";ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;"\";""))))+1;ДЛ СТР(A1))
А можно на англиском!? на русском не понимает мой писюк.

SAS888
Огромное спасибо, как всегда помог!
А можешь объяснить?

Dim i As Long, a() As String
Почему значение а со скобкой?
a = Split(Application.Trim(Cells(i, "A")), "\")
Что такое Trim
Cells(i, "B") = a(UBound(a))
Что делает функция UBound
Jungo must die!!! (C) Bill Gates.
jungo вне форума
Старый 16.07.2008, 11:13   #5
ZORRO2005
Форумчанин
 
Аватар для ZORRO2005
 
Регистрация: 26.11.2006
Сообщений: 584
По умолчанию

Цитата:
А можно на англиском!? на русском не понимает мой писюк.
Я знаю,
поэтому для вашего писюка приложил файл.
ZORRO2005 вне форума
Старый 16.07.2008, 11:26   #6
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Dim a() As String - Объявляем динамический массив из строковых переменных.
a = Split(Application.Trim(Cells(i, "A")), "\") - получаем массив строковых переменных ячейки Cells(i, "A"), предварительно убрав лишние пробелы. Разделитель получаемых элементов - символ "\".
Cells(i, "B") = a(UBound(a)) - в ячейку Cells(i, "B") помещаем последний элемент массива "a".
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 16.07.2008, 14:08   #7
jungo
Форумчанин Подтвердите свой е-майл
 
Аватар для jungo
 
Регистрация: 14.11.2007
Сообщений: 163
По умолчанию

SAS888
Спасибо за урок! Поможет мне в дальнейшем...

ZORRO2005

Ой извеняюсь, на работе фаервол не даёт ничего скачать... Дома посмотрю. Или если не сложно кинуть на англиской мове сюда...
Спасибо!
Jungo must die!!! (C) Bill Gates.
jungo вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Cохранение выбранного элемента ComboBox как название файла kate158 Помощь студентам 5 01.08.2008 12:02
с помощью чего можно с Edita вытянуть денежный эквивалент Bl@ck_A_n_G_e_L Общие вопросы Delphi 1 06.05.2008 14:03
Название файла по содержимому ячеек. Хелп! Sum Microsoft Office Excel 6 07.04.2008 00:06
название для кода Romuald Microsoft Office Excel 2 25.03.2008 09:52
Помогите извлечь из МР3-файла название песни DelphiKettle Помощь студентам 2 31.07.2007 00:01