He dejado pasar los días por si alguien te decía algo. Personalmente no uso nunca el explorador web(no me gusta). Supongamos que tienes una tabla llamada Clientes, y uno de los campos se llama Archivo. Elige como Tipo de Datos Hipervínculo. Con esa tabla crea un formulario y en vista diseño del formulario pulsa el botón del editor de registro y pega esto que te pongo
Public Function buscaArchivo() As String
Dim fDialog As Office.FileDialog
Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
With fDialog
.AllowMultiSelect = False
.ButtonName = "Seleccionar"
.Title = "Seleccionar el archivo"
.InitialFileName = Application.CurrentProject.Path
.InitialView = msoFileDialogViewDetails
.Filters.Clear
.Filters.Add "All files", "*.*"
If .Show = True Then
buscaArchivo = .SelectedItems(1)
Else
MsgBox "Ha pulsado el botón <Cancelar>."
End If
End With
End Function
Y luego en las propiedades del cuadro de texto Archivo, en eventos-Al recibir el enfoque crea un procedimiento de evento y entre Private Sub y End Sub escribe
Dim vArchivo As String
vArchivo = buscaArchivo()
If IsNull(vArchivo) Or vArchivo = "" Then
Exit Sub
Else
Me.Archivo.Value = vArchivo
End If
Así, cuando pulses sobre el cuadro de texto Archivo, se te abrirá un explorador, buscas el archivo que quieras y pulsas seleccionar y en el cuadro de texto te aparece la ruta.
Por cierto, en el editor de VB pulsa Herramientas-Referencias y activa la casilla Microsoft Office 16 Object Library. El 16 depende de la versión del Office que tengas instalado, en el Office 2010 me parece que es el 14 y en el 2003 es el 11
Si ves que tienes alguna pega y quieres, mándame un mensaje a [email protected] y te mando un ejemplo. Si lo haces, en el asunto del mensaje pon tu alias Jairo Morales, ya que si no sé quien me manda el mensaje ni lo abro