Open folder & select file

9 отговора 248 прегледа
#1

Open folder & select file

Привет,

искам да отворя някаква директория в Windows Explorer (със shell или по друг начин, няма значение) и след това да селект-на някой файл от нея.
Например отварям
C:\Program Files\App_name\
и автоматично селект-вам (така че файла да стане синичък:) blah.txt който се намира вътре.

Някаква идея как да стане ?

10х

Отговор
в отговор на microsoft #2

Re: Open folder & select file

Нищо не се сещам, май с някво апи ще да става тоя номер...

Наведи главата защото прелитам ниско с асконата !!!
Отговор
в отговор на microsoft #3

Re: Open folder & select file

Не мога да разбера точно какво искаш да направиш, защото в Explorer името на file-a веднага става синьо, като кликнеш на него.

Ако искаш обаче да виждаш и съдържанието (текст file например) можеш да използваш TreeView (MS ActiveX component) в комбинация с Text Box or RichTextBox.

Отговор
в отговор на ForNext #4

Re: Open folder & select file

Колегата иска да си отвори експлорера от външна програма, да го насочи към определена директория и да селектира определен файл в нея, който в списъка на файловете е произволно раположен някъде си. Надявам се правилно да съм разбрал задачата, лошото е че нямам никаква идея как да стане и следя с интерес да видя решение

Наведи главата защото прелитам ниско с асконата !!!
Отговор
в отговор на Ascona83 #5

Re: Open folder & select file

точно това искам, защото в директорията има доста файлове със сходни имена и чрез селектването искам да покажа на юзера за кой точно файл става дума.

Отговор
в отговор на microsoft #6

Re: Open folder & select file

Загрях!

Мисля, че това мoжеш да направиш това с CommonDialog component.

With dlgUserFindFIle
.FileName = "C:\Data\UserFile.txt"
.ShowOpen
End With

Въпроса е какво ще правиш с този файл по нататък. Все пак вземи последната версия на този компонент.

Отговор
в отговор на ForNext #7

Re: Open folder & select file

Ми да, ако не е задължително да е точно с експлорера има подходящи контроли с които можеш да визуализираш и да покажеш, колегата добра идея дава...

Наведи главата защото прелитам ниско с асконата !!!
Отговор
в отговор на ForNext #8

Re: Open folder & select file

Може и така

Dim fullPath As String
With CommonDialog1
.Flags = cdlOFNAllowMultiselect
.InitDir = App.Path
.Filter = "All Files (test.txt)|test.txt"
.ShowOpen
fullPath = .FileName
End With

За отваряне на Explorer

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) _
As Long
Const SW_SHOWNORMAL = 1
Const SW_SHOWMIN = 2
Const SW_SHOWMAX = 3

Private Sub cmdOpenExp_Click()
Dim app_path As String
Dim g
app_path = App.Path
If Right$(app_path, 1) <> "\" Then app_path = app_path & "\"

g = ShellExecute(Me.hwnd, "", app_path, "", app_path, SW_SHOWMIN)
End Sub

Ама за автоматично селектиране на файл не знам как ще стане

Е туй шамуй
Отговор
в отговор на microsoft #9

Re: Open folder &amp; select file

Виж тука

В общи линии става с ShellExecute на explorer с параметър /select

explorer /select,"c:\documents and settings\administrator\my documents\file.doc"


Time is like a drug. Too much of it kills you.
Отговор
в отговор на killall #10

Re: Open folder &amp; select file

Cool
Mного благодаря на всички !

Отговор