Добавление кнопки просмотра файлов в форму MS Access

#forms #ms-access #file-browser

#формы #ms-access #файловый браузер

Вопрос:

Я хотел бы добавить кнопку «Обзор» в форму MS Access 2007, которая вызовет стандартный файловый браузер Windows (в виде модального окна) и позволит пользователю выбрать каталог. Когда пользователь завершает работу в этом браузере, путь к выбранному каталогу должен быть записан в текстовое поле в форме Access.

Каков наилучший способ сделать это? Существует ли собственный способ доступа?

Ответ №1:

Создайте функцию, которая использует Application.FileDialog . FileDialog Является модальным.

Эта функция вернет пользовательский выбор папки, если он был сделан, или пустую строку, если он нажал «Отмена» на FileDialog .

 Public Function FolderSelection() As String
    Dim objFD As Object
    Dim strOut As String

    strOut = vbNullString
    'msoFileDialogFolderPicker = 4
    Set objFD = Application.FileDialog(4)
    If objFD.Show = -1 Then
        strOut = objFD.SelectedItems(1)
    End If
    Set objFD = Nothing
    FolderSelection = strOut
End Function
  

Я думаю, вы можете использовать эту функцию в событии нажатия вашей командной кнопки.

 Dim strChoice As String
strChoice = FolderSelection
If Len(strChoice) > 0 Then
    Me.TextBoxName = strChoice
Else
    ' what should happen if user cancelled selection?
End If
  

Если вы обеспокоены тем, что Microsoft может когда-нибудь удалить FileDialog объект из Office, вы можете использовать вместо этого метод Windows API: Диалоговое окно BrowseFolder.

Комментарии:

1. Я всегда рекомендую использовать вместо этого Windows API, поскольку я не верю, что MS когда-нибудь не удалит объект FileDialog из Office, как они удалили объект FileSearch из Office 2007.