Note: The other languages of the website are Google-translated. Back to English

¿Cómo insertar la firma de Outlook al enviar un correo electrónico en Excel?

Suponiendo que desea enviar un correo electrónico directamente en Excel, ¿cómo puede agregar la firma de Outlook predeterminada en el correo electrónico? Este artículo proporciona dos métodos para ayudarlo a agregar la firma de Outlook al enviar un correo electrónico en Excel.

Inserte la firma en el correo electrónico de Outlook al enviar por Excel VBA
Inserte fácilmente la firma de Outlook al enviar correos electrónicos en Excel con una herramienta increíble

Más tutoriales para enviar por correo en Excel ...


Inserte la firma en el correo electrónico de Outlook al enviar por Excel VBA

Por ejemplo, hay una lista de direcciones de correo electrónico en una hoja de trabajo, para enviar correos electrónicos a todas estas direcciones en Excel y agregar la firma de Outlook predeterminada en los correos electrónicos. Aplique el siguiente código VBA para lograrlo.

1. Abra la hoja de trabajo que contiene la lista de direcciones de correo electrónico a la que desea enviar un correo electrónico y luego presione el otro + F11 llaves.

2. En la apertura Microsoft Visual Basic para aplicaciones ventana, haga clic recuadro > Módulo, y luego copia lo siguiente VBA 2 en la ventana Código del módulo.

3. Ahora debe reemplazar el .Cuerpo en linea VBA 2 con el código en VBA 1. Después de eso, mueve la línea. .Monitor debajo de la linea Con xMailOut.

VBA 1: Plantilla de envío de correos electrónicos con firma predeterminada de Outlook en Excel

.HTMLBody = "This is a test email sending in Excel" & "<br>" & .HTMLBody

VBA 2: envíe un correo electrónico a las direcciones de correo electrónico especificadas en las celdas de Excel

Sub SendEmailToAddressInCells()
    Dim xRg As Range
    Dim xRgEach As Range
    Dim xRgVal As String
    Dim xAddress As String
    Dim xOutApp As Outlook.Application
    Dim xMailOut As Outlook.MailItem
    On Error Resume Next
    xAddress = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select email address range", "KuTools For Excel", xAddress, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    Set xOutApp = CreateObject("Outlook.Application")
    Set xRg = xRg.SpecialCells(xlCellTypeConstants, xlTextValues)
    For Each xRgEach In xRg
        xRgVal = xRgEach.Value
        If xRgVal Like "?*@?*.?*" Then
            Set xMailOut = xOutApp.CreateItem(olMailItem)
            With xMailOut
                .To = xRgVal
                .Subject = "Test"
                .Body = "Dear " _
                      & vbNewLine & vbNewLine & _
                        "This is a test email " & _
                        "sending in Excel"
                .Display
                '.Send
            End With
        End If
    Next
    Set xMailOut = Nothing
    Set xOutApp = Nothing
    Application.ScreenUpdating = True
End Sub

La siguiente captura de pantalla puede ayudarlo a encontrar fácilmente las diferencias después de cambiar el código VBA.

4. presione el F5 clave para ejecutar el código. Entonces un Kutools for Excel aparece el cuadro de selección, seleccione las direcciones de correo electrónico a las que enviará los correos electrónicos y luego haga clic en DE ACUERDO.

Luego se crean los correos electrónicos. Puede ver que la firma predeterminada de Outlook se agrega al final del cuerpo del correo electrónico.

Consejos:

  • 1. Puede cambiar el cuerpo del correo electrónico en el código 1 de VBA según sus necesidades.
  • 2. Después de ejecutar el código, si aparece un cuadro de diálogo de error que advierte que el tipo definido por el usuario no está definido, cierre este cuadro de diálogo y luego haga clic en Herramientas > Referencias en el capítulo respecto a la Microsoft Visual Basic para aplicaciones ventana. En la apertura Referencias - VBAProject ventana, compruebe la Biblioteca de objetos de Microsoft Outlook cuadro y clic DE ACUERDO. Y luego ejecute el código nuevamente.

Inserte fácilmente la firma de Outlook al enviar correos electrónicos en Excel con una herramienta increíble

Si eres un novato en VBA, aquí recomiendo encarecidamente el Enviar correos electrónicos utilidad de Kutools for Excel para ti. Con esta función, puede enviar fácilmente correos electrónicos basados ​​en ciertos campos en Excel y agregarles la firma de Outlook. Haz lo siguiente.

Antes de aplicar Kutools for Excel, Por favor descargarlo e instalarlo en primer lugar.

En primer lugar, debe crear una lista de correo con diferentes campos en los que enviará correos electrónicos.

Puede crear manualmente una lista de correo según lo necesite o aplicar la función Crear lista de correo para hacerlo rápidamente.

1. Hacer clic en Kutools Más > Crear lista de distribución.

2. En el Crear lista de distribución cuadro de diálogo, especifique los campos que necesita, elija dónde mostrar la lista y luego haga clic en el OK

3. Ahora se crea una muestra de lista de correo. Como es una lista de muestra, debe cambiar los campos a cierto contenido necesario. (se permiten varias filas)

4. Después de eso, seleccione la lista completa (incluya encabezados), haga clic en Kutools Más > Enviar correos electrónicos.

5. En el Enviar correos electrónicos caja de diálogo:

  • 5.1) Los elementos de la lista de correo seleccionada se colocan en los campos correspondientes automáticamente;
  • 5.2) Termine el cuerpo del correo electrónico;
  • 5.3) Compruebe tanto el Enviar correo electrónico a través de Outlook y Usar la configuración de la firma de Outlook cajas;
  • 5.4) Haga clic en Enviar botón. Ver captura de pantalla:

Ahora se envían correos electrónicos. Y la firma predeterminada de Outlook se agrega al final del cuerpo del correo electrónico.

  Si desea tener una prueba gratuita (30-día) de esta utilidad, haga clic para descargarloy luego vaya a aplicar la operación según los pasos anteriores.


Artículos relacionados:

Enviar correo electrónico a direcciones de correo electrónico especificadas en las celdas de Excel
Supongamos que tiene una lista de direcciones de correo electrónico y desea enviar un mensaje de correo electrónico a estas direcciones de correo electrónico de forma masiva directamente en Excel. ¿Cómo lograrlo? Este artículo le mostrará los métodos para enviar correos electrónicos a varias direcciones de correo electrónico que se especifican en las celdas de Excel.

Envíe un correo electrónico copiando y pegando un rango específico en el cuerpo del correo electrónico en Excel
En muchos casos, un rango específico de contenido en la hoja de cálculo de Excel puede ser útil en su comunicación por correo electrónico. En este artículo, presentaremos un método para enviar un correo electrónico con un rango especificado pegado en el cuerpo del correo electrónico directamente en Excel.

Envíe un correo electrónico con varios archivos adjuntos adjuntos en Excel
Este artículo habla sobre el envío de un correo electrónico a través de Outlook con varios archivos adjuntos adjuntos en Excel.

Envíe un correo electrónico si se ha cumplido la fecha de vencimiento en Excel
Por ejemplo, si la fecha de vencimiento en la columna C es menor o igual a 7 días (la fecha actual es 2017/9/13), envíe un recordatorio por correo electrónico al destinatario especificado en la columna A con el contenido especificado en la columna B. Cómo ¿alcanzarlo? Este artículo proporcionará un método VBA para tratarlo en detalle.

Envíe correos electrónicos automáticamente según el valor de la celda en Excel
Supongamos que desea enviar un correo electrónico a través de Outlook a un destinatario determinado en función de un valor de celda específico en Excel. Por ejemplo, cuando el valor de la celda D7 en una hoja de trabajo es mayor que 200, se crea automáticamente un correo electrónico. Este artículo presenta un método VBA para que pueda resolver rápidamente este problema.

Más tutoriales para enviar por correo 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.
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

  • 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!
officetab parte inferior
Comentarios (28)
Aún no hay calificaciones. ¡Sé el primero en calificar!
Este comentario fue minimizado por el moderador en el sitio
muchas gracias, me salvaste la vida con esta plantilla :D
Este comentario fue minimizado por el moderador en el sitio
Estimado Favio,
Encantado de ayudar.
Este comentario fue minimizado por el moderador en el sitio
no funciona con archivos adjuntos en Office 2016
Este comentario fue minimizado por el moderador en el sitio
Querido Chris,
El siguiente código de VBA puede ayudarlo. Después de ejecutar el código, seleccione las celdas que contienen las direcciones de correo electrónico a las que enviará los correos electrónicos y luego seleccione los archivos que necesita adjuntar en el correo electrónico como archivos adjuntos cuando aparezca el segundo cuadro de diálogo. Y la firma de Outlook predeterminada también se mostrará en el cuerpo del correo electrónico. Gracias por tu comentario.

Sub SendEmailToAddressInCells()
Dim xRg como rango
Dim xRgEach como rango
Dim xRgVal como cadena
Dim xAddress como cadena
Dim xOutApp como Outlook.Aplicación
Dim xMailOut como Outlook.MailItem
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Establezca xRg = Application.InputBox ("Seleccione el rango de direcciones de correo electrónico", "KuTools para Excel", xAddress, , , , , 8)
Si xRg no es nada, salga de Sub
Application.ScreenUpdating = False
Establecer xOutApp = CreateObject("Outlook.Aplicación")
Establecer xRg = xRg.SpecialCells(xlCellTypeConstants, xlTextValues)
Establecer xFileDlg = Application.FileDialog(msoFileDialogFilePicker)
Si xFileDlg.Show = -1 Entonces
Para cada xRgCada en xRg
xRgVal = xRgCada.Valor
Si xRgVal como "?*@?*.?*" Entonces
Establecer xMailOut = xOutApp.CreateItem(olMailItem)
Con xMailOut
.Monitor
.To = xRgVal
.Asunto = "Prueba"
.HTMLBody = "Este es un envío de correo electrónico de prueba en Excel" & "
" & .HTMLBody
Para cada xFileDlgItem en xFileDlg.SelectedItems
.Archivos adjuntos.Agregar xFileDlgItem
Siguiente xFileDlgItem
'.Enviar
End With
Si terminar
Siguiente
Establecer xMailOut = Nada
Establecer xOutApp = Nada
Application.ScreenUpdating = True
Si terminar
End Sub
Este comentario fue minimizado por el moderador en el sitio
Estoy tratando de agregar la firma de Outlook titulada "predeterminada", pero parece que no funciona.
¿Puedes ayudarme? Creo que mi lógica "xMailout" es incorrecta. esta es mi área sospechosa defectuosa.

Private Sub CommandButton1_Click ()

Dim xOutApp como objeto
Dim xOutMail como objeto
Dim xMailBody como cadena
Dim xMailOut como Outlook.MailItem
On Error Resume Next
Establecer xOutApp = CreateObject("Outlook.Aplicación")
Establecer xOutMail = xOutApp.CreateItem(0)
xMailBody = "Saludos:" & vbNuevaLínea & vbNuevaLínea & _
"Esta es la línea 1" & vbNewLine & _
"Esta es la línea 2" & vbNewLine & _
"Esta es la línea 3" & vbNewLine & _
"Esta es la línea 4"
On Error Resume Next
Con xOutMail
.Para = "Correo electrónico.aquí.com"
.CC = "Correo electrónico.aquí.com"
.Asunto = "Título del correo electrónico aquí -" & Range("Cell#").value
.Cuerpo = xCuerpo de correo
. Archivos adjuntos.Agregar ActiveWorkbook.FullName
Establecer xMailOut = xOutApp.CreateItem(olMailItem)
Con xMailOut
.Monitor
End With
ActiveWorkbook.Guardar
En caso de error, vaya a 0
Establecer xOutMail = Nada
Establecer xOutApp = Nada
End Sub
Este comentario fue minimizado por el moderador en el sitio
Buenos días,
Su secuencia de comandos ha sido modificada, inténtelo. Gracias.

Private Sub CommandButton1_Click ()
Dim xOutApp como objeto
Dim xOutMail como objeto
Dim xMailBody como cadena
Dim xMailOut como Outlook.MailItem
On Error Resume Next
Establecer xOutApp = CreateObject("Outlook.Aplicación")
Establecer xOutMail = xOutApp.CreateItem(0)
xMailBody = "Saludos:" & vbNuevaLínea & vbNuevaLínea & _
"Esta es la línea 1" & vbNewLine & _
"Esta es la línea 2" & vbNewLine & _
"Esta es la línea 3" & vbNewLine & _
"Esta es la línea 4"
On Error Resume Next
Con xOutMail
.Para = "Correo electrónico.aquí.com"
.CC = "Correo electrónico.aquí.com"
.Asunto = "Título del correo electrónico aquí -" & Rango("Celda#").Valor
.Cuerpo = xCuerpo de correo
.Archivos adjuntos.Agregar ActiveWorkbook.Nombre completo
Establecer xMailOut = xOutApp.CreateItem(olMailItem)
Con xMailOut
.Monitor
End With
End With
ActiveWorkbook.Guardar
En caso de error, vaya a 0
Establecer xOutMail = Nada
Establecer xOutApp = Nada
End Sub
Este comentario fue minimizado por el moderador en el sitio
cómo agregar firma si la macro es utilizada por varios usuarios.
por ejemplo, mi macro será ejecutada por otras 3 personas también. Entonces, ¿cómo puede la macro usar la firma del usuario que está ejecutando la macro?
gracias de antemano
Este comentario fue minimizado por el moderador en el sitio
Buenos días,
El código VBA puede reconocer automáticamente la firma predeterminada en Outlook del remitente y enviar un correo electrónico con su propia firma a través de Outlook.
Este comentario fue minimizado por el moderador en el sitio
Si el texto de mi cuerpo está vinculado para extraerlo de los campos de Excel, el uso de & .HTMLBody al final de la cadena borra todo el texto del cuerpo y solo deja la firma.
Este comentario fue minimizado por el moderador en el sitio
Tengo problemas para ejecutar esto en Excel 2016. Aparece el mensaje "Error de compilación: Tipo definido por el usuario no definido". ¡Por favor ayuda!
Este comentario fue minimizado por el moderador en el sitio
¡¡¡¡Magnífico!!!!
Este comentario fue minimizado por el moderador en el sitio
Muchas gracias ...
Este comentario fue minimizado por el moderador en el sitio
Hola, necesitaría ayuda con mi macro, necesito insertar la firma de Outlook debajo de la mesa, ¿podría ayudarme con eso?

Private Sub CommandButton1_Click ()


Tenue perspectiva como objeto
Dim nuevoCorreo electrónico como objeto
Dim xInspeccionar como objeto
Dim pageEditor como objeto

Establecer Outlook = CreateObject("Outlook.Application")
Establecer nuevo correo electrónico = Outlook. CreateItem (0)

Con nuevo correo electrónico
.Hasta = Hoja5.Rango("F1")
.CC = ""
.BCC = ""
.Asunto = Hoja5.Rango("B5")
.Cuerpo = Hoja5.Rango("B41")
.mostrar

Establecer xInspect = newEmail.GetInspector
Establecer editor de página = xInspect.WordEditor

Hoja5.Rango("B6:I7").Copiar

editor de páginas.Aplicación.Selección.Inicio = Largo(.Cuerpo)
editor de paginas.Aplicacion.Seleccion.Fin = Editor de paginas.Aplicacion.Seleccion.Inicio
editor de páginas.Aplicación.Selección.PasteAndFormat (wdFormatPlainText)

.mostrar
Establecer editor de página = Nada
Establecer xInspeccionar = Nada
End With

Establecer nuevo correo electrónico = Nada
Establecer perspectiva = Nada

End Sub
Este comentario fue minimizado por el moderador en el sitio
Hola bara,
Lo siento, no puedo ayudarte con eso. Gracias por tu comentario.
Este comentario fue minimizado por el moderador en el sitio
Querido,
¿Puede alguien ayudarme con mi VBA,
Necesito la firma en el correo electrónico creado:
Este comentario fue minimizado por el moderador en el sitio
Gracias a ti, puedo agregar la firma ahora, pero luego elimina los espacios entre los párrafos del texto. Por favor, me puedes ayudar ?


Sub hola mundo()
Dim OutApp como objeto
Dim OutMail como objeto
Dim cell As Range
Dim Path como cadena
Ruta = Aplicación.ActiveWorkbook.Path
Establecer OutApp = CreateObject("Outlook.Application")

Para cada celda en el rango ("C4: C6")
Establecer OutMail = OutApp.CreateItem(0)
Con correo saliente
.Monitor
.Para = celda.Valor
.Asunto = Celdas(celda.Fila, "D").Valor
.HTMLBody = "Estimado" & Celdas(celda.Fila, "B").Valor & "," _
& vbNuevaLínea & vbNuevaLínea & _
"Cálidos saludos" _
& vbNuevaLínea & vbNuevaLínea & _
"Nosotros, JK Overseas, nos gustaría aprovechar la oportunidad y presentar nuestra empresa JK Overseas, que está involucrada en el negocio de la sal durante los últimos 3 años. Actualmente somos fuertes en el país y nos estamos expandiendo en el extranjero. Somos el proveedor de Edible Salt, Sal para ablandar el agua, sal para descongelar, sal industrial" y "." _
& vbNuevaLínea & vbNuevaLínea & _
"Tenemos un vínculo con fabricantes a gran escala en la India y obtenemos de ellos sal de calidad y exportaciones. Por lo tanto, estamos buscando un importador experto confiable y un agente distribuidor para hacer un negocio a largo plazo con beneficio mutuo" & " ." _
& vbNuevaLínea & vbNuevaLínea & _
"Por favor contáctenos con su requerimiento o para cualquier otra consulta que pueda tener. Brindamos logística confiable y entrega a tiempo. Estamos seguros de que nuestros precios, que son los más competitivos, coincidirán con sus expectativas" y "". _
& vbNuevaLínea & vbNuevaLínea & _
.HTMLCuerpo

'.Enviar
End With
Siguiente celda
End Sub
Este comentario fue minimizado por el moderador en el sitio
Estoy tratando de integrar este código en el formato actual que tengo actualmente, por lo que puedo automatizar correos electrónicos dentro de Excel en función de un rango establecido de valores. Cualquier ayuda con respecto a dónde agregar el código de 'firma' dentro de lo que tengo actualmente sería muy apreciada.

Public Sub CheckAndSendMail()

'Actualizado por Extendoffice 2018/11/22

Dim xRgDate como rango

Dim xRgSend como rango

Dim xRgText como rango

Dim xRgDone como rango

Dim xOutApp como objeto

Dim xMailItem como objeto

Dim xLastRow tan largo

Dim vbCrLf como cadena

Dim xMailBody como cadena

Dim xRgDateVal como cadena

Dim xRgSendVal como cadena

Dim xMailSubject como cadena

Dim I tan largo

On Error Resume Next

'Por favor, especifique el intervalo de fechas de vencimiento

xStrRang = "D2:D110"

Establecer xRgDate = Rango (xStrRang)

'Por favor, especifique el intervalo de direcciones de correo electrónico de los destinatarios

xStrRang = "C2:C110"

Establecer xRgSend = Rango (xStrRang)

xStrRang = "A2:A110"

Establecer xRgName = Rango (xStrRang)

'Especifique el rango con contenido recordado en su correo electrónico

xStrRang = "Z2:Z110"

Establecer xRgText = Rango (xStrRang)

xÚltimaFila = xRgDate.Rows.Count

Establecer xRgDate = xRgDate(1)

Establecer xRgSend = xRgSend(1)

Establecer xRgName = xRgName(1)

Establecer xRgText = xRgText(1)

Establecer xOutApp = CreateObject("Outlook.Aplicación")

Para I = 1 Para xÚltima fila

xRgDateVal = ""

xRgDateVal = xRgDate.Offset(I - 1).Valor

Si xRgDateVal <> "" Entonces

Si CDate(xRgDateVal) - Fecha <= 30 Y CDate(xRgDateVal) - Fecha > 0 Entonces

xRgSendVal = xRgSend.Offset(I - 1).Valor

xMailSubject = " Acuerdo de servicio de JBC que vence el " & xRgDateVal

vbCrLf = "

"

xCuerpoCorreo = ""

xMailBody = xMailBody & "Estimado" & xRgName.Offset(I - 1).Valor & vbCrLf

xCuerpoCorreo = xCuerpoCorreo & " " & xRgText.Offset(I - 1).Valor & vbCrLf

xCuerpo de correo = xCuerpo de correo & ""

Establecer xMailItem = xOutApp.CreateItem(0)

Con xMailItem

.Asunto = xMailSubject

.Para = xRgSendVal

.CC = "mailcc@justbettercare.com"

.HTMLBody = xCuerpo de correo

.Monitor

'.Enviar

End With

Establecer xMailItem = Nada

Si terminar

Si terminar

Siguiente

Establecer xOutApp = Nada

End Sub
Este comentario fue minimizado por el moderador en el sitio
Es un código realmente útil.
Necesito cambiar el formato de texto de derecha a izquierda en la línea xOutMsg
ayuda por favor .
Este comentario fue minimizado por el moderador en el sitio
Estoy tratando de enviar hojas individuales de Excel a diferentes correos electrónicos, pero solo adjuntará el libro de trabajo. Además, necesito poder agregar mi línea de firma. ¿Alguna ayuda? Sub AST_Email_From_Excel()

Dim aplicación de correo electrónico como objeto
Dim emailItem como objeto

Establecer aplicación de correo electrónico = CreateObject("Outlook.Application")
Establecer elemento de correo electrónico = aplicación de correo electrónico.CreateItem (0)

' Ahora construimos el correo electrónico.

emailItem.to = Range("e2").Valor

elementocorreoelectrónico.CC = Rango("g2").Valor

emailItem.Subject = "Equipo de compra técnica no devuelto"

emailItem.Body = "Vea la hoja de cálculo adjunta para artículos no devueltos en su área"

'Adjuntar libro de trabajo actual
emailItem.Archivos adjuntos.Agregar ActiveWorkbook.Nombre completo

'Adjunte cualquier archivo de su computadora.
'elemento de correo electrónico.Archivos adjuntos.Agregar ("C:\...)"

'Enviar el correo electrónico
'emailItem.send

'Mostrar el correo electrónico para que el usuario pueda cambiarlo como desee antes de enviar
emailItem.Display

Establecer elemento de correo electrónico = Nada
Establecer aplicación de correo electrónico = Nada

End Sub
Este comentario fue minimizado por el moderador en el sitio
Hola Chris, el código que proporcionaste ha sido modificado. La firma de Outlook ahora se puede insertar en el cuerpo del mensaje. Por favor inténtalo. Gracias. Sub AST_Email_From_Excel()
'Actualizado por Extendoffice 20220211
Dim aplicación de correo electrónico como objeto
Dim emailItem como objeto
Establecer aplicación de correo electrónico = CreateObject("Outlook.Application")
Establecer elemento de correo electrónico = aplicación de correo electrónico.CreateItem (0)

' Ahora construimos el correo electrónico.
emailItem.Display 'Muestra el correo electrónico para que el usuario pueda cambiarlo como desee antes de enviarlo
emailItem.to = Range("e2").Valor
elementocorreoelectrónico.CC = Rango("g2").Valor
emailItem.Subject = "Equipo de compra técnica no devuelto"
emailItem.HTMLBody = "Consulte la hoja de cálculo adjunta para ver los artículos no devueltos en su área" & " " & elemento de correo electrónico.HTMLBody

'Adjuntar libro de trabajo actual
emailItem.Archivos adjuntos.Agregar ActiveWorkbook.Nombre completo

Establecer elemento de correo electrónico = Nada
Establecer aplicación de correo electrónico = Nada

End Sub
Este comentario fue minimizado por el moderador en el sitio
Hola Crystal, gracias por hacer que agregue la firma, aunque no parece gustarle la sección HTMLBody. Cuando ejecuto la macro, se depura en emailItem.HTMLBody = "Consulte la hoja de cálculo adjunta para ver los elementos no devueltos en su área" & " " & emailItem.HTMLBodyand no completa el resto.  
Este comentario fue minimizado por el moderador en el sitio
Hola,
¿Qué versión de Excel estás usando? El siguiente código de VBA también puede ayudar. Por favor inténtalo. Gracias por tus comentarios. Sub Enviar hoja de trabajo ()
'Actualizar por Extendoffice 20220218
Dim xFile como cadena
Dim xFormato siempre
Dim Wb como libro de trabajo
Dim Wb2 como libro de trabajo
Dim FilePath como cadena
Dim FileName como cadena
Dim OutlookApp como objeto
Dim OutlookMail como objeto
On Error Resume Next
Application.ScreenUpdating = False
Establecer Wb = Application.ActiveWorkbook
HojaActiva.Copiar
Establecer Wb2 = Application.ActiveWorkbook
Seleccionar caso Wb.FileFormat
Caso xlOpenXMLLibro de trabajo:
xArchivo = ".xlsx"
xFormat = xlOpenXMLWorkbook
Caso xlOpenXMLWorkbookMacroEnabled:
Si Wb2.HasVBProject Entonces
xArchivo = ".xlsm"
xFormat = xlOpenXMLWorkbookMacroEnabled
otro
xArchivo = ".xlsx"
xFormat = xlOpenXMLWorkbook
Si terminar
Caso Excel8:
xArchivo = ".xls"
formato x = Excel8
Caso xlExcel12:
xArchivo = ".xlsb"
formato x = xlExcel12
Fin Seleccionar
FilePath = Environ$("temp") & "\"
FileName = Wb.Name & Format(Ahora, "dd-mmm-yy h-mm-ss")
Establezca OutlookApp = CreateObject("Outlook.Application")
Establecer OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
'xstr = Rango("e2") & " ; " & Rango("g2")
Con Correo de Outlook
.Monitor
.A = Rango("e2")
.CC = Rango("g2")
.BCC = ""
.Subject = "Equipo de tecquidación no devuelto"
.HTMLBody = "Vea la hoja de cálculo adjunta para artículos no devueltos en su área" & " " & .HTMLBody
.Archivos adjuntos.Agregar Wb2.Nombre completo
'.Enviar
End With
Wb2.Cerrar
Matar FilePath & FileName & xFile
Establecer OutlookMail = Nada
Establecer OutlookApp = Nada
Application.ScreenUpdating = True
End Sub
Este comentario fue minimizado por el moderador en el sitio
Parece ser Excel 2016 y VBA 7.1
Este comentario fue minimizado por el moderador en el sitio
Oi Cristal, una pequeña macro perde una configuración de assinatura do e-mail, con imágenes y formato original. ¿Cómo consigo resolver?

Correo electrónico subgerente()

Dim OLapp como Outlook.Aplicación
Dim janela como Outlook.MailItem

Establecer OLapp = Nueva Outlook.Aplicación
Establecer janela = OLapp.CreateItem(olMailItem)

Arquivo01 = "Mapa AN"
Anexo01 = EsteLibro.Path & "\" & Arquivo01 & ".xlsm"


con janela
ActiveWorkbook.Guardar
.Monitor
.Hasta = Hojas("Base").Rango("A2").Valor
.CC = Hojas("Base").Rango("A5").Valor
.Asunto = "Mapa - Acrilo " & Formato(Fecha, "dd.mm.yy")
assinatura = .Cuerpo
.Body = "Prezados/as," & Chr(10) & Chr(10) & "Segue anexo o mapa de Acrilonitrila considerando como vendas previstas no S&OP." & Chr(10) & Chr(10) & asinatura
.Adjuntos.Añadir Anexo01
End With

End Sub
Este comentario fue minimizado por el moderador en el sitio
Com a mudança abaixo, consegui ajustar. Porém a letra do corpo da mensagem fica em Times New Roman. Gostaria de usar Calibri, como posso alterar o código?

Correo electrónico subgerente()

Dim OLapp como Outlook.Aplicación
Dim janela como Outlook.MailItem

Establecer OLapp = Nueva Outlook.Aplicación
Establecer janela = OLapp.CreateItem(olMailItem)

Arquivo01 = "Mapa AN"
Anexo01 = EsteLibro.Path & "\" & Arquivo01 & ".xlsm"


con janela
ActiveWorkbook.Guardar
.Monitor
.Hasta = Hojas("Base").Rango("A2").Valor
.CC = Hojas("Base").Rango("A5").Valor
.Asunto = "Mapa - Acrilo " & Formato(Fecha, "dd.mm.yy")
assinatura = .Cuerpo
.HTMLBody = "Prezados/as," & Chr(10) & Chr(10) & "Segue anexo o mapa de Acrilonitrila considerando como vendas previstas no S&OP." & " " & .HTMLBody
.Adjuntos.Añadir Anexo01
End With

End Sub
Este comentario fue minimizado por el moderador en el sitio
Hola Milla,
El siguiente código de VBA puede ayudarlo a cambiar la fuente del cuerpo del correo electrónico a Calibri, inténtelo. Gracias.
Antes de ejecutar el código, debe hacer clic en Herramientas > Referencia en el capítulo respecto a la Microsoft Visual Basic para aplicaciones ventana y, a continuación, compruebe la Biblioteca de objetos de Microsoft Word casilla de verificación en el Referencias - Proyecto VBA cuadro de diálogo como la captura de pantalla que se muestra a continuación.
[img]I:\工作\周雪明\2022年工作\6月份\文章评论截图\3.png[/img]
Sub Geraremail()
Dim OLapp As Outlook.Application
Dim janela As Outlook.MailItem
Dim xDoc As Document 'Click Tools > Reference to enable the Microsoft Word Object Library
On Error Resume Next
Set OLapp = New Outlook.Application
Set janela = OLapp.CreateItem(olMailItem)
Arquivo01 = "Mapa AN"
Anexo01 = ThisWorkbook.Path & "\" & Arquivo01 & ".xlsm"
With janela
  ActiveWorkbook.Save
  .Display
  .To = Sheets("Base").Range("A2").Value
  .CC = Sheets("Base").Range("A5").Value
  .Subject = "Mapa - Acrilo " & Format(Date, "dd.mm.yy")
   assinatura = .Body
  .HTMLBody = "Prezados/as," & Chr(10) & Chr(10) & "Segue anexo o mapa de Acrilonitrila considerando as vendas previstas no S&OP." & "<br>" & .HTMLBody
  .Attachments.Add Anexo01
End With
Set xDoc = janela.GetInspector.WordEditor
xDoc.Content.Font.Name = "Calibri"
End Sub
Este comentario fue minimizado por el moderador en el sitio
Hola Milla,
El siguiente código de VBA puede ayudarlo a cambiar la fuente del cuerpo del correo electrónico a Calibri, inténtelo. Gracias.
Antes de ejecutar el código, debe hacer clic en Herramientas > Referencia en el capítulo respecto a la Microsoft Visual Basic para aplicaciones ventana y, a continuación, compruebe la Biblioteca de objetos de Microsoft Word casilla de verificación en el Referencias - Proyecto VBA cuadro de diálogo como el archivo adjunto que se muestra a continuación.
Sub Geraremail()
Dim OLapp As Outlook.Application
Dim janela As Outlook.MailItem
Dim xDoc As Document 'Click Tools > Reference to enable the Microsoft Word Object Library
On Error Resume Next
Set OLapp = New Outlook.Application
Set janela = OLapp.CreateItem(olMailItem)
Arquivo01 = "Mapa AN"
Anexo01 = ThisWorkbook.Path & "\" & Arquivo01 & ".xlsm"
With janela
  ActiveWorkbook.Save
  .Display
  .To = Sheets("Base").Range("A2").Value
  .CC = Sheets("Base").Range("A5").Value
  .Subject = "Mapa - Acrilo " & Format(Date, "dd.mm.yy")
   assinatura = .Body
  .HTMLBody = "Prezados/as," & Chr(10) & Chr(10) & "Segue anexo o mapa de Acrilonitrila considerando as vendas previstas no S&OP." & "<br>" & .HTMLBody
  .Attachments.Add Anexo01
End With
Set xDoc = janela.GetInspector.WordEditor
xDoc.Content.Font.Name = "Calibri"
End Sub
Este comentario fue minimizado por el moderador en el sitio
Hola, estoy tratando de arreglar mi código VBA. Me gustaría incluir una de mis firmas de Outlook con un logotipo. ¿Es esto posible y dónde pongo el código que estoy usando actualmente? Cualquier ayuda sería genial.

Correo electrónico secundarioAspdf()

Dim EApp como objeto
Establecer EApp = CreateObject("Outlook.Application")

Dim EItem como objeto
Establecer EItem = EApp.CreateItem(0)

Dim invno siempre
Dim custname como cadena
Dim amt como moneda
Dim dt_issue como fecha
Dim término como byte
Dim nextrec como rango
Dim camino como cadena
Dim fname como cadena

número de inventario = rango ("I4")
nombre de cliente = Range("A11")
cantidad = rango ("I42")
dt_issue = Rango ("I6")
término = rango ("I7")
ruta = "miruta"
fname = invno & " - " & custname

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, IgnorePrintAreas:=False, Filename:=path & fname

Establecer nextrec = Sheet3.Range("A1048576").End(xlUp).Offset(1, 0)

nextrec = invno
nextrec.Offset(0, 1) = nombre de cliente
nextrec.Offset(0, 2) = cantidad
nextrec.Offset(0, 3) = dt_issue
nextrec.Offset(0, 4) = dt_issue + término
nextrec.Offset(0, 8) = Ahora

Hoja3.Hipervínculos.Agregar ancla:=nextrec.Offset(0, 6), Dirección:=ruta & fname & ".pdf"

Con EItem

.Hasta = Rango("A17")

.Asunto = Rango("A11") & " " & "Número de factura: " & Rango("I4") & " " & "para defensores de California"

.body = "Hola" & Rango("A11") & "," & vbNuevaLínea & vbNuevaLínea _
& "Consulte la factura adjunta para " & Range("A11") & "." & vbNuevaLínea & vbNuevaLínea _
& "Si tiene alguna pregunta, no dude en ponerse en contacto conmigo". & vbNuevaLínea & vbNuevaLínea _
& "Mejor," & vbNuevaLínea _
& "Minombreaquí" & vbNuevaLínea

.Archivos adjuntos.Agregar (ruta & fname & ".pdf")

.Monitor

End With
Exit Sub



End Sub
No hay comentarios publicados aquí todavía
Deje sus comentarios
Publicar como invitado
×
Califica esta publicación:
0   Personajes
Ubicaciones sugeridas

Siganos

Copyright © 2009 - www.extendoffice.com. | Reservados todos los derechos. Energizado por ExtendOffice, | Mapa del Sitio
Microsoft y el logotipo de Office son marcas comerciales o marcas comerciales registradas de Microsoft Corporation en los Estados Unidos y / o en otros países.
Protegido por Sectigo SSL