Добавление кнопки просмотра файлов в форму MS Access - PullRequest
9 голосов
/ 01 июня 2011

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

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

1 Ответ

12 голосов
/ 01 июня 2011

Создать функцию, которая использует 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 .

...