Pegar automática varias fotografías en formato png

Requiero pegar automática varias fotografías en formato png en una planilla excel y al mismo tiempo ajustar el ancho y alto de cada celda a uno fijo y todo esto a partir de un listado de códigos colocados en una columna. Esos códigos son los mismos con que están nombradas las fotografías en una carpeta predefinida en el disco duro del compuntador. Alguien sabe como automatizar este proceso.

1 Respuesta

Respuesta
1
Como estas amigo
Te explico el nombre de la foto debe ir en la celda a1 de la hoja llamada "lista", puedes cambiar estas direcciones en la siguiente linea:
foto = Sheets("lista").Cells(1, 1).Value
En la siguiente linea se le agrega el .jpg, en tu caso creo que seria pgn.
foto = foto & ".jpg"
En esta linea se agrega la ruta del archivo, se esta tomando la misma donde esta ubicado el libro de excel.
rutayarchivo = ActiveWorkbook.Path & "\" & foto
Si deseas otra puedes sustituirla por:
rutayarchivo = "c:\directorio1\subdirec1" & "\" & foto
Estimado Bacter, al tratar de probar el código me nacen algunas consultas: donde debo colocar la ruta para acceder a las fotografías guardadas en el disco duro del computador, segundo donde debo colocar los códigos o nombres de las fotografías que quiero que aparezcan en la planilla (hoja y columna) y por ultimo debo nombrar algunas hojas de mi libro especialmente para que funcione este código.
Por favor comentame y muchas gracias.
Bacter, seguí los cambios indicados quedando la macro así:
Sub Macro2()
On Error Resume Next
Dim foto As String
Dim rutayarchivo As String
Dim fotografia As Variant
Dim arriba As Variant
Dim izquierda As Variant
Dim ancho As Variant
Dim alto As Variant
foto = Sheets("lista").Cells(1, 1).Value
foto = foto & ".jpg"
rutayarchivo = "L:\Masterwise\Foto Productos Terminado" & "\" & foto
ActiveCell.Worksheet.Shapes("foto1").Delete
Set fotografia = ActiveCell.Worksheet.Pictures.Insert(rutayarchivo)
arriba = Sheets("lista").Cells(1, 2).Value
izquierda = Sheets("lista").Cells(1, 3).Value
ancho = Sheets("lista").Cells(1, 4).Value
alto = Sheets("lista").Cells(1, 5).Value
With fotografia
.Name = "foto1"
.Top = arriba
.Left = izquierda
.Width = ancho
.Height = alto
End With
Set fotografia = Nothing
Application.ScreenUpdating = True
End Sub
Pero cuando la ejecuto no me aparece la fotografía que llamo, estoy escribiendo en la celda a1 el nombre de la fotografía que en este caso es casa1. Otra consulta como hago para que en vez de que la fotografía aparezca en la fila inferior aparezca al lado del código.
Te dejo este código que puede ayudarte
Sub Macro2()
On Error Resume Next
Dim foto As String
Dim rutayarchivo As String
Dim fotografia As Variant
Dim arriba As Variant
Dim izquierda As Variant
Dim ancho As Variant
Dim alto As Variant
foto = Sheets("lista").Cells(1, 1).Value
foto = foto & ".jpg"
rutayarchivo = ActiveWorkbook.Path & "\" & foto
ActiveCell.Worksheet.Shapes("foto1").Delete
Set fotografia = ActiveCell.Worksheet.Pictures.Insert(rutayarchivo)
arriba = Sheets("lista").Cells(1, 2).Value
izquierda = Sheets("lista").Cells(1, 3).Value
ancho = Sheets("lista").Cells(1, 4).Value
alto = Sheets("lista").Cells(1, 5).Value
With fotografia
.Name = "foto1"
.Top = arriba
.Left = izquierda
.Width = ancho
.Height = alto
End With
Set fotografia = Nothing
Application.ScreenUpdating = True
End Sub
Si necesitas algo más, estoy a la orden.
Bacter

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas