Имя книги Excel

Программирование на Visual Basic for Applications
Maks the best
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 124
Зарегистрирован: 09.06.2005 (Чт) 12:34
Откуда: Санкт-Петербург

Имя книги Excel

Сообщение Maks the best » 16.09.2005 (Пт) 10:38

Всем привет!

Есть вопросик, никак не додуматься ...

присваиваю переменной [a] путь к файлу:

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

Dim dlgOpen As FileDialog
    Set dlgOpen = Application.FileDialog(msoFileDialogFilePicker)
    dlgOpen.AllowMultiSelect = False
    If dlgOpen.Show = -1 Then
    a = dlgOpen.SelectedItems(1)
   Else
   End If
    Set dlgOpen = Nothing


получаю [a] типо:
C:\Documents and Settings\1\Рабочий стол\1.xls

а есть какой человеческий вариант отделить от этого [1.xls] и проверить [1.xls] это книга Excel или, скажем если там [sdfs.txt], узнать что это не книга Excel ?

Вот :roll:

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 16.09.2005 (Пт) 11:13

Substr - подстрока
InStrRev - нахождение последнего вхождения одной строки в другую

Соответственно, InStrRev'ом находишь последний слэш в а, все, что после - это имя файла. Потом в имени файла ищешь InStrRev'ом точку, если нашел, то все, что после - это расширение файла.
Быть... или не быть. Вот. В чём вопрос?

Maks the best
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 124
Зарегистрирован: 09.06.2005 (Чт) 12:34
Откуда: Санкт-Петербург

Сообщение Maks the best » 16.09.2005 (Пт) 11:20

Огромное тебе спасибо :)
чудо свершилось :shock: :alien:

Maks the best
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 124
Зарегистрирован: 09.06.2005 (Чт) 12:34
Откуда: Санкт-Петербург

Сообщение Maks the best » 16.09.2005 (Пт) 11:29

Слушай а мне что то никак:
как дальше из циферки допустим x=41:
X = InStrRev(a, "\")
получить человеческий вид окончания этой строки (ыяваы.xls)...
Substr просто у меня чего то как оператор признаков жизни подавать не хочет... :roll:

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 16.09.2005 (Пт) 11:35

Сорри, прогнал - слишком уже много языков программирования в голове перемешались :)

Не SubStr, а Mid$ (или Right$) естественно. Пишешь что-то вроде X=Right$(a,Len(a)-InStrRev(a,"\"))
Быть... или не быть. Вот. В чём вопрос?

Maks the best
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 124
Зарегистрирован: 09.06.2005 (Чт) 12:34
Откуда: Санкт-Петербург

Сообщение Maks the best » 16.09.2005 (Пт) 11:39

ай шайтан... :drunken:
огромное тебе ещё раз :))))


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 40

    TopList  
cron