Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Выбор пути к файлу
 
 автор: Гамлет   (27.02.2009 в 12:32)   личное сообщение
 
 

Всем привет
Этот код открывает окно диалога и записывает в поле [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

Как открыть окно диалога, в котором можно выбрать файл и записать его путь включая сам файл

  Ответить  
 
 автор: Lukas   (27.02.2009 в 12:52)   личное сообщение
6 Кб.
 
 

Как-то так?

  Ответить  
 
 автор: Lukas   (27.02.2009 в 13:19)   личное сообщение
2 Кб.
 
 

Забыл константы.

  Ответить  
 
 автор: osmor   (27.02.2009 в 12:57)   личное сообщение
 
 

это как вариант
http://hiprog.com/index.php?option=com_content&task=view&id=468
а можно использовать FileDialog (кажется c MSA XP появилось) см Help

  Ответить  
 
 автор: Анатолий (Киев)   (27.02.2009 в 13:04)   личное сообщение
 
 

1. В свежих версиях Акса есть объект FileDialog;
2. API GetOpenFileName
3. Метод WizHook.GetFileName (WizHook - скрытый объект Акса)
Есть и другие методы. Об этом уже столько написано! Не поленитесь порыться в инете - найдете немеряно.

ЗЫ. Ну не успеваю за коллегами...

  Ответить  
 
 автор: osmor   (27.02.2009 в 13:10)   личное сообщение
 
 

зато наиболее полно

  Ответить  
 
 автор: Гамлет   (27.02.2009 в 13:25)   личное сообщение
 
 

Всем спасибо
Сори забыл указать А2000
если правильно понял все предложенные решения годятся для более поздних версий

Мой код маленький и работает в b]А2000[/b], только в окне диалога не видно файлов

Что там можно подправить ?
Чтобы открыв окно диалога была возможность выбрать файл и записать его путь включая сам файл

  Ответить  
 
 автор: Анатолий (Киев)   (27.02.2009 в 13:35)   личное сообщение
 
 


Что там можно подправить ?


Там - ничего. Это диалог выбора папки, кстати под Win98 не работает - нет свойства Self.

Из предложенных вариантов WizHook работает и в А2000, а API - везде.

  Ответить  
 
 автор: Гамлет   (27.02.2009 в 14:54)   личное сообщение
 
 

Ок, будем юзать API

  Ответить  
 
 автор: Гамлет   (27.02.2009 в 22:38)   личное сообщение
 
 

Вот один из вариантов
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

ИМХО дёшево и сердито

  Ответить  
 
 автор: час   (28.02.2009 в 13:17)   личное сообщение
 
 

Здорава!!!

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

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList