Procedimiento para cargar una Foto en control image que está guardada en la misma carpeta (Path) donde se encuentra el Fichero.

Tengo en un libro y en ese libro, formulario que tiene un textbox llamado TxtCedul. Este libro se encuentra en una carpeta y en la misma están las fotografías. Las fotos tienen comonombre números, es decir; una foto se llama 10241597414.

Necesito un procedimiento, para que una vez, yo digite el número de la foto en el textcedula, automaticamente se cargue la foto que tiene ese nombre, es decir:10241597414 y se muestre en un campo Image llamdo Fotografia1.

Deseo necesito que para que aparezca la foto en el control Image llamado Fotografia1, se muestre, cuando salga del txtcedula al presionar enter.

Es importante que no tenga una ruta fija de almacenamiento las fotos, excepto la misma ubicaión del libro donde está el formulario, ya que voy a necesitar estar trasladando la carpeta contenedora del libro y de las fotos de equipo en equipo y no quiero estar yendo al codigo a cambiarla siempre.

1 Respuesta

Respuesta
2

H o l a:

Te anexo la macro, pon el siguiente evento:

Private Sub txtcedula_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
'Por.Dante Amor
    If KeyCode = 13 Then
        ruta = ThisWorkbook.Path & "\"
        imagen = txtcedula
        arch = Dir(ruta & imagen & ".*")
        Fotografia1.Picture = Nothing
        If arch <> "" Then
            On Error Resume Next
            Fotografia1.Picture = LoadPicture(ruta & arch)
            If Err.Number <> 0 Then
                MsgBox "Imagen inválida", vbCritical
            End If
        Else
            MsgBox "No existe imagen"
        End If
    End If
End Sub

' : )
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
' : )

¡Gracias! Dante, voy a probarla ya mismo..!

Genial, es precisamente lo que necesito hacer.

Solo una cosa más (perdona mi falta de planeamiento).

Quisiera, que dado el caso en que no encuentre la fotografía, muestre por defecto una imagen llamada "Silueta,jpg". Como puedo incluir este pequeño cambio?

Antes de esta línea:

MsgBox "No existe imagen"

Pon esta línea:

Fotografia1.Picture = LoadPicture(ruta & "silueta.jpg")

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas