2011-06-01 23 views
9

Me gustaría agregar un botón "Examinar" a un formulario de MS Access 2007 que mostrará un navegador de archivos estándar de Windows (como una ventana modal) y permitirá al usuario selecciona un directorio Cuando el usuario salga de ese navegador, la ruta del directorio seleccionado se escribirá en un cuadro de texto en el formulario de acceso.Agregar un botón del explorador de archivos a un formulario de MS Access

¿Cuál es la mejor manera de hacerlo? ¿Hay una forma de acceso nativa?

Respuesta

12

Crea una función que utiliza Application.FileDialog. El FileDialog es modal.

Esta función devolverá la selección de la carpeta del usuario si hicieron una, o una cadena vacía si hicieron clic en cancelar en el 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 

Creo que se puede utilizar esta función en el evento Click del botón de comando.

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

Si usted está preocupado de que Microsoft puede retirar el objeto FileDialog de la Oficina algún día, se puede utilizar el método de la API de Windows en lugar: BrowseFolder Dialog.

+0

Eso funcionó. ¡Gracias! –

+0

Siempre recomiendo usar la API de Windows, ya que no confío en que MS no eliminará el objeto FileDialog de Office algún día, ya que eliminaron el objeto FileSearch de Office 2007. –

Cuestiones relacionadas