10

MS Access 2007 フォームに [参照] ボタンを追加して、標準の Windows ファイル ブラウザを (モーダル ウィンドウとして) 表示し、ユーザーがディレクトリを選択できるようにしたいと考えています。ユーザーがブラウザから OK すると、選択したディレクトリへのパスが Access フォームのテキスト ボックスに書き込まれます。

これを行う最善の方法は何ですか?ネイティブのアクセス方法はありますか?

4

1 に答える 1

15

を使用する関数を作成します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

FileDialogMicrosoft がいつか Office からオブジェクトを削除するのではないかと心配している場合は、代わりに Windows API メソッドを使用できます: BrowseFolder Dialog

于 2011-06-01T16:52:01.093 に答える