Consejo: Otros idiomas son traducidos por Google. Puedes visitar el English versión de este enlace.
Iniciar sesión
x
or
x
x
Suscríbete
x

or

¿Cómo enviar un gráfico específico en un correo electrónico con vba en Excel?

Puede saber 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 cálculo en el cuerpo del correo electrónico? Este artículo te mostrará el método para resolver este problema.

Enviar un gráfico específico en un correo electrónico en Excel con código VBA


Envíe fácilmente correos electrónicos a través de Outlook en base a la lista de correo creada:

Las Enviar correos electrónicos la utilidad de Kutools para Excel ayuda a los usuarios a enviar correos electrónicos a través de Outlook en base a una lista de correo creada en Excel. Ver captura de pantalla:

Kutools for Excel incluye más de las útiles herramientas de Excel de 300. Gratis para probar sin limitaciones en los días 60. Descargue la versión de prueba gratuita ahora

Ficha Office Habilite la edición y navegación con pestañas en Office y haga su trabajo mucho más fácil ...
Kutools para Excel: la mejor herramienta de productividad de Office resolverá la mayoría de sus problemas de Excel
  • Texto automático: Cree sus gráficos, imágenes, celdas, fórmulas complejas y reutilizar ellos rápidamente en el futuro.
  • Más de características de texto 20: Extraer número de la cadena de texto; Extraer o eliminar parte de los textos; Convertir números y monedas a palabras en inglés ...
  • Herramientas de fusión: Múltiples libros de trabajo y hojas en uno; Fusionar múltiples celdas / filas / columnas y guardar datos; Combinar filas duplicadas y sumar ...
  • Herramientas divididas: Dividir datos en varias hojas en función del valor; Un libro de trabajo para múltiples archivos Excel, PDF o CSV; De una columna a varias columnas ...
  • Saltar pasta Filas ocultas / filtradas; Cuenta y suma por color de fondo; Crear lista de correo y Enviar correos electrónicos por el valor de la celda...
  • Súper filtro: Cree esquemas de filtro avanzados y aplique a cualquier hoja; Tipo de Propiedad por semana, día, frecuencia y más; Filtrar por negrita, fórmulas, comentario ...
  • Más de potentes funciones de 300; Funciona con Office 2007-2019 y 365; Soporta todos los idiomas; Fácil despliegue en compañía; Funciones completas de prueba gratuita de 60-day.

Enviar 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 contiene el gráfico que desea adjuntar en el cuerpo del correo electrónico, presione otro + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.

2. En el Microsoft Visual Basic para aplicaciones ventana, por favor haga clic recuadro > Módulo. Luego, copie debajo del código VBA en la ventana Código.

Código de 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)
    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 = ThisWorkbook.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 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 la tabla que desea enviar, cámbiela a la suya.

3. presione el F5 clave para ejecutar el código. En la apertura Kutools for Excel cuadro de diálogo, ingrese el nombre de la tabla que adjuntará en el cuerpo del correo electrónico y luego haga clic en OK botón. Ver captura de pantalla:

Luego, se crea automáticamente un correo electrónico 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:


Kutools for Excel: la mejor herramienta de productividad de Office aumenta su productividad en un 80%

  • Super Formula Bar (edite fácilmente varias líneas de texto y fórmula); Diseño de lectura (lee y edita fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas y mantener datos; Contenido de celdas divididas; Combinar filas duplicadas y suma / promedio... Prevenir células 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 Celdas múltiples sin cambiar la referencia de fórmula; Crear referencias automáticamente a múltiples hojas; Insertar viñetas, Casillas de verificación y más ...
  • Fórmulas favoritas e insertadas rápidamente, Gamas, cuadros y cuadros; Cifrar celdas con contraseña Crear una lista de correo y enviar correos electrónicos ...
  • Extracto del texto, Agregar texto, Eliminar por posición, Eliminar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtro a otras hojas); Clasificación avanzada por mes / semana / día, frecuencia y más; Filtro especial por negrita, cursiva ...
  • Combinar libros de trabajo y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes xls, xlsx y PDF...
  • Más de potentes funciones de 300. Funciona con Office 2007-2019 y 365. Soporta todos los idiomas. Fácil despliegue en compañía. Funciones completas de prueba gratuita de 60-day.
pestaña kte 201905

Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Habilitar la edición y lectura con pestañas en Word, Excel, PowerPoint, Editor, Acceso, Visio y Proyecto.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta tu productividad en un 50% y reduce cientos de clics de ratón por ti todos los días!
fondo officetab
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Aaron Manqueo · 5 days ago
    hola como puede enviar por correo, una tabla dinámica, y no un gráfico
  • To post as a guest, your comment is unpublished.
    leigh · 3 months ago
    when i enter the chart name the mail doesn't generate the dialog box just closes, any idea what i have done wrong? I have followed each step
    • To post as a guest, your comment is unpublished.
      Borges · 1 months ago
      The issue is that we can not set names for Chart Objects like tables. You need to pass the integer ID to work. For instance, if you only have 1 chart in the "Sheet1", trying passing the value 1 when the msgbox shows up.

      PS: sorry for the bad english :]