|
|
|
| Всем привет
Этот код открывает окно диалога и записывает в поле [Text3] формы путь до выбранной папки (при этом нет возможности выбрать файл)
Private Sub cmdFileDialog_Click()
Dim WSHShell, folder
On Error Resume Next
Set WSHShell = CreateObject("Shell.application")
Set folder = WSHShell.BrowseForFolder(0, "Choose folder", &H200, "")
If Not Err.Number = 91 Then Me.Text3 = folder.self.Path
Set WSHShell = Nothing
End Sub
|
Как открыть окно диалога, в котором можно выбрать файл и записать его путь включая сам файл | |
|
| |
|
6 Кб. |
|
| Как-то так? | |
|
| |
|
2 Кб. |
|
| Забыл константы. | |
|
| |
|
|
|
| это как вариант
http://hiprog.com/index.php?option=com_content&task=view&id=468
а можно использовать FileDialog (кажется c MSA XP появилось) см Help | |
|
| |
|
|
|
| 1. В свежих версиях Акса есть объект FileDialog;
2. API GetOpenFileName
3. Метод WizHook.GetFileName (WizHook - скрытый объект Акса)
Есть и другие методы. Об этом уже столько написано! Не поленитесь порыться в инете - найдете немеряно.
ЗЫ. Ну не успеваю за коллегами... | |
|
| |
|
|
|
| зато наиболее полно | |
|
| |
|
|
|
| Всем спасибо
Сори забыл указать А2000
если правильно понял все предложенные решения годятся для более поздних версий
Мой код маленький и работает в b]А2000[/b], только в окне диалога не видно файлов
Что там можно подправить ?
Чтобы открыв окно диалога была возможность выбрать файл и записать его путь включая сам файл | |
|
| |
|
|
|
|
Что там можно подправить ?
|
Там - ничего. Это диалог выбора папки, кстати под Win98 не работает - нет свойства Self.
Из предложенных вариантов WizHook работает и в А2000, а API - везде. | |
|
| |
|
|
|
|
| Вот один из вариантов
Private Sub Command5_Click()
Dim strFile As String, strFilter As String
strFilter = "MS Access Database (*.mdb)|*.mdb|MDE-Files (*.mde)|*.mde|All Files (*.*)|*.*||"
WizHook.Key = 51488399
WizHook.GetFileName 0, "AppName", "DlgTitle", "", strFile, "c:\", strFilter, 0, 0, 0, True
Me.Text3 = strFile
End Sub
|
ИМХО дёшево и сердито | |
|
| |
|
|
|
| Здорава!!!
http://ms.by.ru/HTML/193.htm
http://www.sql.ru/forum/actualthread.aspx?bid=4&tid=99425&pg=-1
Private Sub Кнопка5_Click()
Dim strFile As String, strFilter As String
' strFilter = "MS Access Database (*.mdb)|*.mdb|MDE-Files (*.mde)|*.mde|All Files (*.*)|*.*||"
strFilter = "All Files (*.*)|*.*||"
WizHook.Key = 51488399
WizHook.GetFileName 0, "AppName", "DlgTitle", "", strFile, "c:\", strFilter, 0, 0, 0, True
Me.Text3 = strFile
End Sub
|
А открыть папку - как ???
==========================================================
Sub wzSplitPath()
' Sub SplitPath(Path As String,Drive As String, Dir As String, File As String, Ext As String)
'
'Ïðîèçâîäèò ðàçáîð ïîëó÷åííîé ñòðîêè ïîëíîãî ïóòè,
'âûäåëÿÿ óñòðîéñòâî, ïóòü, èìÿ è ðàñøèðåíèå ôàéëà.
Dim wzPath As String
Dim wzDrive As String
Dim wzDir As String
Dim wzFile As String
Dim wzExt As String
WizHook.Key = 51488399
wzPath = "c:\dir1\dir2\nombre_archivo.txt"
WizHook.SplitPath wzPath, wzDrive, wzDir, wzFile, wzExt
Me.Text3 = Me.Text3 & " " & "Óñòðîéñòâî: " & wzDrive
Me.Text3 = Me.Text3 & " " & "Êàòàëîã: " & wzDir
Me.Text3 = Me.Text3 & " " & "Èìÿ ôàéëà: " & wzFile
Me.Text3 = Me.Text3 & " " & "Ðàñøèðåíèå ôàéëà:" & wzExt
End Sub
|
| |
|
| |