Almacenar ruta de archivos

Como puedo llamar desde un campo de un formulario al explorador de windows para almacenar la ruta de un archivo.
Respuesta
1
Una posibilidad es llamar a esta función desde el botón.
Public Function ContratoElegido() As String
Dim fd As FileDialog
'Set fd = Application.FileDialog(msoFileDialog)
Set fd = Application.FileDialog(msoFileDialogFilePicker)
fd.InitialFileName = "\\SONIA\compartida\Base de Datos ENDECON\Contratos-Convenios\Contrato *.doc"
fd.InitialView = msoFileDialogViewDetails
fd.AllowMultiSelect = False 'el ejemplo estaba para multiSelect
Dim vrtSelectedItems As Variant
With fd
If .Show = -1 Then
For Each vrtSelectedItems In .SelectedItems
ContratoElegido = vrtSelectedItems
Next
End If
End With
End Function
Otra posibilidad es agregar el botón con el Asistente de controles y elegir Aplicación (creo en el 2° paso) y luego anotar la ruta y el nombre del Explorador de windows.
Hola Marciana
Veras, la función que me mandas no se donde colocarla, he intentado ponerla como un evento, por ejemplo al hacer doble clic, y me da errores. Supongo que sera porque no pongo bien los nombre de los campos. Tengo una tabla con dos campos IdFotos y Ruta. Y tengo un formulario con el campo Ruta y la Imagen Imagen2.
¿Por favor me ayudas a progamarlo bien?
La segunda opción. El botón con el asistente de controles. La opción "Aplicación" solo me da la "Acción" Salir de la aplicación.
Muchas gracias
¿No probaste la otra posibilidad? (Ver al final de mi respuesta anterior)
En el evento "Al hacer clic" del botón ponelo sin forma de Function: así
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
fd.InitialFileName = "Convenios\*.doc"
fd.InitialView = msoFileDialogViewDetails
fd.AllowMultiSelect = True
Dim vrtSelectedItems As Variant
With fd
If .Show = -1 Then
For Each vrtSelectedItems In .SelectedItems
ContratoElegido = vrtSelectedItems
Next
End If
End With
Cambiá lo que está en negrita por tu ruta y archivos
Contame cómo te fue, M
(Si, la segunda opción que me diste ya lo intente, en mi anterior mensaje te conté lo que me paso.)
Veras, pongo el código que me diste, de esta forma:
Private Sub BotónRuta_DblClick(Cancel As Integer)
End Sub
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
fd.InitialFileName = "\Mis documentos\.jpg"
fd.InitialView = msoFileDialogViewDetails
fd.AllowMultiSelect = True
Dim vrtSelectedItems As Variant
With fd
If .Show = -1 Then
For Each vrtSelectedItems In .SelectedItems
ContratoElegido = vrtSelectedItems
Next
End If
End With
Y me da en la primera línea (Dim fd As FileDialog) este error:
Error de Compilación: Los comandos solamente pueden aparecer después de End Sub, End Función o End Property.
Un saludo y gracias por ser tan rápida
Fíjate que el End Sub va al final de lo contrario lo que tiene que hacer en el doble clic queda vacío
Private Sub BotónRuta_DblClick(Cancel As Integer)
End Sub
Mové el End Sub al final, después del End With
No lo consigo.
Ahora me dice en: fd As FileDialog
Error de compilación: No se ha definido el tipo definido por el usuario.
De todas formas muchas gracias, creo que si sigo te volveré loca

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas