Insertar una imagen en una autoforma, al escribir su nombre

Tengo una macro que inserta una imagen dentro de una autoforma, la cuál es la siguiente:

Sub Insertar_Imagen()
' Insertar_Imagen Macro
Dim ruta As String

ruta = Application.GetOpenFilename

On Error Resume Next
With Selection.ShapeRange.Fill
.Visible = msoTrue
.UserPicture ruta
.TextureTile = msoFalse
End With

End Sub

Sólo que ahora necesito modificarla, para que en lugar de seleccionar el archivo, me aparezca un cuadro de mensaje (MsgBox) escriba el nombre de la imagen y la inserte.

1 Respuesta

Respuesta
1

 H o l a:

Te anexo la macro actualizada, deberás cambiar en la macro, la ruta en donde se encuentra la imagen. Cuando captures el nombre de la imagen deberás poner también la extensión.

"C:\trabajo\varios\"

Sub Insertar_Imagen()
'Act.Por.Dante Amor
' Insertar_Imagen Macro
    ruta = "C:\trabajo\varios\"
    img = InputBox("Escribe el Nombre de la Imagen", "INSERTAR IMAGEN")
    If Dir(ruta & img) <> "" Then
        With Selection.ShapeRange.Fill
            .Visible = msoTrue
            .UserPicture ruta & img
            .TextureTile = msoFalse
        End With
    Else
        MsgBox "El archivo no existe", vbCritical
    End If
End Sub

Muchas Gracias, ya la ejecute e insertó sin problema la imagen, sólo me gustaría saber sí es posible, no escribir la extensión de la imagen y sólo el nombre de la misma.

Saludos.

ARH.

Te anexo la macro actualizada

Sub Insertar_Imagen()
'Act.Por.Dante Amor
' Insertar_Imagen Macro
    ruta = "C:\trabajo\varios\"
    img = InputBox("Escribe el Nombre de la Imagen", "INSERTAR IMAGEN")
    If img = "" Then Exit Sub
    '
    arch = Dir(ruta & img & ".*")
    existe = False
    Do While arch <> ""
        arch2 = arch
        existe = True
        Exit Do
    Loop
    '
    If existe Then
        If Dir(ruta & arch2) <> "" Then
            With Selection.ShapeRange.Fill
                .Visible = msoTrue
                .UserPicture ruta & arch2
                .TextureTile = msoFalse
            End With
        End If
    Else
        MsgBox "El archivo no existe", vbCritical
    End If
End Sub

s a l u d o s

¡Muchas Gracias Dante! Agradezco la rapidez de la respuesta, es un gusto encontrar expertos, tan profesionales en éste página.

Saludos !!

ARH

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas