Hace poco en el trabajo me pidieron que automatizara la creación de una página HTML que desplegaría el organigrama de cada una de las áreas de trabajo, dicho organigrama estaba formado por unos círculos donde en cada uno de ellos se mostraban las fotos de la personas que ocupan dicha posición. Todas las imágenes que conformaran cada organigrama estarían dispuestas en una hoja de Excel, así es que como primer paso tendría que hacer una macro que tomara cada una de las formas (shapes) contenidas en la hoja y las exportará para después crear la pagina HTML.
Lo que hace la macro es tomar cada una de las formas de la hoja organigrama, pegarla dentro del gráfico de la hoja imagen y una vez ahí exportar el gráfico en la carpeta donde este almacenada la macro. Les comparto el código y el ejemplo de cómo logre resolver el problema.
Option Explicit Sub test() Dim hoja_org As Worksheet Dim hoja_img As Worksheet Dim sh As Shape 'En esta hoja se encuentra las imagenes a exportar (organigrama) Set hoja_org = ThisWorkbook.Sheets("Organigrama") 'En esta otra esta un grafico vacio que nos servira como contenerdor de la imagen a exportar Set hoja_img = ThisWorkbook.Sheets("Imagen") 'Recorremos cada una de las formas... For Each sh In hoja_org.Shapes sh.Copy 'se copia... 'Se redimensiona el ancho y alto del grafico para que sea del mismo tamaño de la forma hoja_img.Shapes(1).Height = sh.Height hoja_img.Shapes(1).Width = sh.Width 'Se pega la forma en el grafico hoja_img.Shapes(1).Chart.Paste hoja_img.Shapes(1).Chart.Export ThisWorkbook.Path & "\" & sh.Name & ".png" 'se exporta el grafico hoja_img.Shapes(1).Chart.Shapes(1).Delete 'se borra la imagen del grafico Next MsgBox "Imagenes exportadas!", vbInformation, "" End Sub
Hola buenas tardes, seguí tu pagina anterior dónde explicabas la unión entre python y excel, me podrías decir si sigues teniendo esa información , sigues implementandola?.
ResponderBorrarMuchas gracias por tu amable respuesta.
Saludos,
Jorge
Hola Amigo! Antes que nada una disculpa por la demora en contestar tu pregunta, lamentablemente desconozco el por que no me llegan las notificaciones cuando alguien realiza algún comentario y apenas vengo viendo el tuyo... Respecto a lo de Python, no ya no tengo nada de material a la mano, aunque realmente no es muy complicado lograr una sinergia entre Python y Excel, quizas este enlace sea de tu interes:
Borrarhttps://doc.lagout.org/programmation/python/Python%20Programming%20on%20Win32_%20Help%20for%20Windows%20Programmers%20%5BHammond%20%26%20Robinson%202000-02-03%5D.pdf
Actualmente me encuentro programando en Javascript, Google Apps Script, VBA/Excel y Ruby. Espero pronto subir material de una sinergia entre Ruby/Excel.
Saludos!