¿Cómo enviar un gráfico específico por correo electrónico mediante VBA en Excel?
Es posible que ya sepa cómo enviar un correo electrónico desde Outlook en Excel mediante código VBA. Pero, ¿sabe cómo insertar directamente en el cuerpo del mensaje un gráfico específico de una hoja determinada? Este artículo le mostrará cómo resolver este problema.
Enviar un gráfico específico en un correo electrónico en Excel con código VBA
Enviar un gráfico específico en un correo electrónico en Excel con código VBA
Siga estos sencillos pasos para enviar un gráfico específico por correo electrónico directamente desde Excel mediante código VBA.
1. En la hoja de cálculo que contiene el gráfico que desea incluir en el cuerpo del correo, pulse las teclas Alt + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
2. En la ventana de Microsoft Visual Basic para Aplicaciones, haga clic en Insertar > Módulo. A continuación, copie el siguiente código VBA en la ventana de código.
Código VBA: Enviar un gráfico específico en un correo electrónico en Excel
Sub mailHTMLsend()
'Updated by Extendoffice 2018/3/5
Dim xOutApp As Object
Dim xOutMail As Object
Dim xStartMsg As String
Dim xEndMsg As String
Dim xChartName As String
Dim xChartPath As String
Dim xPath As String
Dim xChart As ChartObject
On Error Resume Next
xChartName = Application.InputBox("Please enter the chart name:", "KuTools for Excel", , , , , , 2)
If xChartName = "" Then Exit Sub
Set xChart = Sheets("Sheet1").ChartObjects(xChartName) 'Change "Sheet1" to your worksheet name
If xChart Is Nothing Then Exit Sub
Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
xStartMsg = "<font size='5' color='black'> Good Day," & "<br> <br>" & "Please find the chart below: " & "<br> <br> </font>"
xEndMsg = "<font size='4' color='black'> Many Thanks," & "<br> <br> </font>"
xChartPath = Application.ActiveWorkbook.Path & "\" & Environ("USERNAME") & VBA.Format(VBA.Now(), "DD_MM_YY_HH_MM_SS") & ".bmp"
xPath = "<p align='Left'><img src="/%20&%20"cid:" & Mid(xChartPath, InStrRev(xChartPath, "\") + 1) & """ width=700 height=500 > <br> <br>"
xChart.Chart.Export xChartPath
With xOutMail
.To = "xrr@163.com"
.Subject = "Add Chart in outlook mail body"
.Attachments.Add xChartPath
.HTMLBody = xStartMsg & xPath & xEndMsg
.Display
End With
Kill xChartPath
Set xOutMail = Nothing
Set xOutApp = Nothing
End Sub
Nota: En el código, modifique la dirección del destinatario ()Dirección de correo electrónico) y el asunto del correo (Asunto del correo electrónico) en la línea .To = «xrr@163.com» y en la línea .Subject = «Añadir gráfico en el cuerpo del correo de Outlook». Hoja1 es la hoja que contiene el gráfico que desea enviar; cámbiela por la suya.
3. Pulse la tecla F5 para ejecutar el código. En el cuadro de diálogo Kutools para Excel que se abre, introduzca el nombre del gráfico que desea incluir en el cuerpo del correo y, a continuación, haga clic en el botón Aceptar. Vea la captura de pantalla:

A continuación, se generará automáticamente un correo electrónico con el gráfico especificado insertado en el cuerpo del mensaje, tal como se muestra en la siguiente captura de pantalla. Haga clic en el botón Enviar para enviarlo.


Descubra la magia de Excel con KUTOOLS AI
- Ejecución inteligente: Realice operaciones en celdas, analice datos y cree gráficos con comandos sencillos.
- fórmulas personalizadas: Cree fórmulas a medida para optimizar sus flujos de trabajo.
- Programación en VBA: Escriba e implemente código VBA con facilidad.
- Interpretación de fórmulas: Entienda las fórmulas complejas con facilidad.
- Traducción de texto: Rompa las barreras del idioma directamente en sus hojas de cálculo.
Artículos relacionados:
- ¿Cómo enviar un correo electrónico automáticamente en función del valor de una celda en Excel?
- ¿Cómo insertar una firma en un correo de Outlook al enviarlo mediante VBA desde Excel?
- ¿Cómo enviar un correo electrónico a una hora específica del día en Excel?
- ¿Cómo enviar un correo electrónico con cuerpo HTML en Excel?
- ¿Cómo enviar un correo electrónico con formato específico en negrita/tamaño/color/subrayado Formato de texto en Excel?
- ¿Cómo enviar un correo electrónico sin Outlook en Excel?
Las mejores herramientas de productividad para Office
Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...
Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
- ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!
Todos los complementos de Kutools en un solo instalador.
Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.
- Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un instalador, una licencia— configuración en minutos (compatible con MSI)
- Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
- Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
- La mejor relación calidad-precio— ahorre frente a la compra individual de complementos