Macro para insertar imagen desde control activex

Tengo este código para insertar dos imágenes a un formulario desde un control activex

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
[Nfila] = Target.Row
Image1.Picture = LoadPicture(ActiveWorkbook.Path & "\nombre de la carpeta\" & [Xcodigo].Text & ".jpg")
Image2.Picture = LoadPicture(ActiveWorkbook.Path & "\nombre de la carpeta\" & [Xcodigo2].Text & ".jpg")
End Sub
Las dudas son dos, es posible modificar el código para ingresarlo desde un Modulo y no desde la hoja.

La segunda pregunta se relaciona con la anterior, pues tengo que crear un poco más de mil formularios y cuando duplico las hojas, con 50 hojas creadas el documento pesa más de 50 megas, a pesar que uso fotografías de tan 80 kb. O como puedo hacer para que el documento quede liviano usando activex.

1 Respuesta

Respuesta
1

Hol.a

Es complicado hacer una respuesta totalmente certera sin conocer tu archivo pero, prueba así:

Sub Prueba()
On Error Resume Next
[Nfila] = ActiveCell.Row
Image1.Picture = LoadPicture(ActiveWorkbook.Path & "\nombre de la carpeta\" & [Xcodigo].Text & ".jpg")
Image2.Picture = LoadPicture(ActiveWorkbook.Path & "\nombre de la carpeta\" & [Xcodigo2].Text & ".jpg")
End Sub

Sobre el tamaño ("peso") de tu archivo, lo recomendable siempre es NO usar imágenes dentro de los archivos así sea usando objetos ActiveX. Igual algo de tamaño perderán si usar "Guardar como" y en el cuadro de diálogo correspondiente usas el botón "Herramientas" y seleccionas "Comprimir imágenes". 

Salu2

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas