Как открыть папку в которой лежит файл?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
AndrNet
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 08.06.2009 (Пн) 9:09

Как открыть папку в которой лежит файл?

Сообщение AndrNet » 26.02.2015 (Чт) 16:12

Как открыть папку в которой лежит файл? В базе есть пути полные пути к файлам с их именами, например
Код: Выделить всё
C:\Documents and Settings\Andrey\my\OBD II-.xlsx.
к примеру я получил эту строку в переменную iPath и получить из нее только путь.
Как открыть саму папку в которой расположен файл не запуская приложения.
Вариант
Код: Выделить всё
CreateObject("Shell.Application").Open iPath
не проходит, запускается приложение.

Jack Ferre
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 132
Зарегистрирован: 17.02.2014 (Пн) 14:31
Откуда: Казахстан, Костанай

Re: Как открыть папку в которой лежит файл?

Сообщение Jack Ferre » 26.02.2015 (Чт) 16:30


Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 26.02.2015 (Чт) 16:56

Ну почти :)
Ответил там.

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Re: Как открыть папку в которой лежит файл?

Сообщение ALX_2002 » 03.04.2015 (Пт) 13:29

А такой вариант не подошёл ?
Код: Выделить всё
CreateObject("Shell.Application").Explore "C:\Temp"

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как открыть папку в которой лежит файл?

Сообщение Хакер » 03.04.2015 (Пт) 14:02

ALX_2002 писал(а):А такой вариант не подошёл ?
Код: Выделить всё
CreateObject("Shell.Application").Explore "C:\Temp"


AndrNet писал(а):Вариант

Код: Выделить всё
CreateObject("Shell.Application").Open iPath

не проходит, запускается приложение.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Re: Как открыть папку в которой лежит файл?

Сообщение ALX_2002 » 05.04.2015 (Вс) 1:17

Хакер, так я про Explore, а не про Open :)

А для выделения конкретного файла можно вот это использовать:
Код: Выделить всё
Option Explicit
Private Sub Form_Load()
   
    'https://msdn.microsoft.com/en-us/library/windows/desktop/bb774047(v=vs.85).aspx
    '(0) Deselect the item.
    '(1) Select the item.
    '(3) Put the item in edit mode.
    '(4) Deselect all but the specified item.
    '(8) Ensure the item is displayed in the view.
    '(16) Give the item the focus.

    Dim oExplorer As Object
    Dim oFolderItem As Object
    Set oExplorer = GetObject("new:{C08AFD90-F2A1-11D1-8455-00A0C91F3880}")
    With oExplorer
        .Visible = True
        .Navigate "C:\Windows"
        Do While .Busy
            DoEvents
        Loop
        Set oFolderItem = .Document.Folder.ParseName("notepad.exe")
        .Document.SelectItem oFolderItem, 16 + 1 + 8
    End With
End Sub


Вернуться в Visual Basic 1–6

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

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

    TopList