powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как программно открыть заданную папку и перейти на заданный файл
5 сообщений из 5, страница 1 из 1
Как программно открыть заданную папку и перейти на заданный файл
    #37596558
kealog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исходные данные:
а) Есть полное наименование папки, например D:\Test
б) Есть наименование файла, например: test.xls, который лежит в этой папке

Задача:
а) Открыть указанную папку и сделать её активной, или, если она открыта - только сделать активной.
б) Переместиться на указанный файл (подсветить его), но не запускать

Я копал в направлении запуска скриптов Shell, но нашёл там только открытие файла, считывание его свойств и т.п.
М.б. есть что-то связанное с InvokeVerb папки или файла, но никаких справочников по аргументам функции не нашёл.

Например здесь http://www.script-coding.com/WSH/Shell.html#3.8.
...
Рейтинг: 0 / 0
Как программно открыть заданную папку и перейти на заданный файл
    #37596653
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
открыть папку можно так:
Код: vbnet
1.
Call ShellExecute(0, "open", "c:\", "", "", SW_SHOWNORMAL)


с файлом - не знаю
...
Рейтинг: 0 / 0
Как программно открыть заданную папку и перейти на заданный файл
    #37596666
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealog,

Через Shell -
Код: vbnet
1.
Shell "explorer.exe /select,d:\test\test.xls",vbNormalFocus

Через API - SHOpenFolderAndSelectItems
...
Рейтинг: 0 / 0
Как программно открыть заданную папку и перейти на заданный файл
    #37596687
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
М.б. есть что-то связанное с InvokeVerb папки или файла, но никаких справочников по аргументам функции не нашёл.
Нужно подключить Microsoft Internet Controls и Microsoft Shell Controls And Automation.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Dim sw As New SHDocVw.ShellWindows
For Each w In sw
    If TypeName(w.Document) = "IShellFolderViewDual3" Then  'это проводник, а не IE
        For Each Item In w.Document.Folder.Items
            'перебор элементов папки, у них есть InvokeVerb 
        Next
    End If
Next
...
Рейтинг: 0 / 0
Как программно открыть заданную папку и перейти на заданный файл
    #37596734
kealog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
big-duke,

СПАСИБО!

Очень подошло: Shell "explorer.exe /select,d:\test\test.xls",vbNormalFocus

Через API ... не пробовал
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как программно открыть заданную папку и перейти на заданный файл
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]