¿Cómo enviar un gráfico específico en un correo electrónico con vba en Excel?
Es posible que sepa cómo enviar un correo electrónico a través de Outlook en Excel con código VBA. Sin embargo, ¿sabe cómo adjuntar un gráfico específico en una determinada hoja de trabajo en el cuerpo del correo electrónico? Este artículo le mostrará el método para resolver este problema.
Envíe un gráfico específico en un correo electrónico en Excel con código VBA
Envíe un gráfico específico en un correo electrónico en Excel con código VBA
Haga lo siguiente para enviar un gráfico específico en un correo electrónico con código VBA en Excel.
1. En la hoja de trabajo que contiene el gráfico que desea adjuntar en el cuerpo del correo electrónico, presione el otro + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.
2. En el Microsoft Visual Basic para aplicaciones ventana, haga clic en recuadro > Módulo. Luego, copie el código VBA a continuación en la ventana Código.
Código VBA: envíe 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=" & "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, cambie la dirección de correo electrónico del destinatario y el asunto del correo electrónico en la línea .To = "xrr@163.com" y la línea .Subject = "Agregar gráfico en el cuerpo del correo de Outlook" , Sheet1 es la hoja que contiene el gráfico que desea enviar, cámbielo por el suyo.
3. presione el F5 clave para ejecutar el código. En la apertura Kutools for Excel cuadro de diálogo, ingrese el nombre del gráfico que adjuntará en el cuerpo del correo electrónico y luego haga clic en el OK botón. Ver captura de pantalla:
Luego, se crea un correo electrónico automáticamente con el gráfico especificado que se muestra en el cuerpo del correo electrónico como se muestra a continuación. Haga clic en el botón Enviar para enviar este correo electrónico.
Artículos relacionados:
- ¿Cómo enviar correos electrónicos automáticamente según el valor de la celda en Excel?
- ¿Cómo insertar una firma en el correo electrónico de Outlook al enviar por vba en Excel?
- ¿Cómo enviar un correo electrónico a una hora específica del día en Excel?
- ¿Cómo enviar correo electrónico con cuerpo de correo electrónico HTML en Excel?
- ¿Cómo enviar un correo electrónico con el formato de texto especificado en negrita / tamaño / color / subrayado en Excel?
- ¿Cómo enviar correos electrónicos sin Outlook en Excel?
Las mejores herramientas de productividad de oficina
Kutools para Excel resuelve la mayoría de sus problemas y aumenta su productividad en un 80%
- Reutilizar: Inserte rápidamente fórmulas complejas, gráficos y cualquier cosa que hayas usado antes; Cifrar celdas con contraseña; Crear lista de distribución y enviar correos electrónicos ...
- Barra de súper fórmula (edite fácilmente varias líneas de texto y fórmulas); Diseño de lectura (leer y editar fácilmente un gran número de celdas); Pegar en rango filtrado...
- Combinar celdas / filas / columnas sin perder datos; Contenido de celdas divididas; Combinar filas / columnas duplicadas... Prevenir celdas duplicadas; Comparar rangos...
- Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
- Copia exacta Varias celdas sin cambiar la referencia de la fórmula; Crear referencias automáticamente a varias hojas; Insertar viñetas, Casillas de verificación y más ...
- Extraer texto, Agregar texto, Eliminar por posición, Quitar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
- Súper filtro (guardar y aplicar esquemas de filtros a otras hojas); Orden avanzado por mes / semana / día, frecuencia y más; Filtro especial en negrita, cursiva ...
- Combinar libros y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes de xls, xlsx y PDF...
- Más de 300 potentes funciones. Compatible con Office/Excel 2007-2021 y 365. Compatible con todos los idiomas. Fácil implementación en su empresa u organización. Funciones completas Prueba gratuita de 30 días. Garantía de devolución de dinero de 60 días.

Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Habilite 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 de la misma ventana, en lugar de en nuevas ventanas.
- ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!













