MS Access 2007 フォームに [参照] ボタンを追加して、標準の Windows ファイル ブラウザを (モーダル ウィンドウとして) 表示し、ユーザーがディレクトリを選択できるようにしたいと考えています。ユーザーがブラウザから OK すると、選択したディレクトリへのパスが Access フォームのテキスト ボックスに書き込まれます。
これを行う最善の方法は何ですか?ネイティブのアクセス方法はありますか?
MS Access 2007 フォームに [参照] ボタンを追加して、標準の Windows ファイル ブラウザを (モーダル ウィンドウとして) 表示し、ユーザーがディレクトリを選択できるようにしたいと考えています。ユーザーがブラウザから OK すると、選択したディレクトリへのパスが Access フォームのテキスト ボックスに書き込まれます。
これを行う最善の方法は何ですか?ネイティブのアクセス方法はありますか?
を使用する関数を作成します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。