Macro para adjuntar archivo y pegar rango en cuerpo del correo

Necesito que la macro adjunte archivo de escritorio y a la ves pegue en el cuerpo del correo un rango de celda (A1:J100) del Excel donde esta la macro. Pero solo puedo lograr o una cosa o la otra, pero no las dos.

1 respuesta

Respuesta

[Hola

Si usas Microsoft Outlook, sugiero leer con detalle este artículo, sobre todo la parte que dice "Extras", ya que en él están las respuestas a tus interrogantes:

https://abrahamexcel.blogspot.com/2018/02/microsoft-outlook-desde-excel-vba.html

Ah, eso sí, no es tan simple.

Abraham Valencia

Hola Abraham, antes de nada muchísimas gracias por la pronta respuesta.

Por mas vuelta no atino :)

Mira, yo tengo estas dos macros que funcionan perfectamente las dos, pero el problema es que yo quiero que la macro haga las dos cosas, adjunte rango de una hoja del Excel donde esta la macro ( sub Enviar_RANGO()) y adjunte un archivo del escritorio (Sub Enviar_ARCHIVO())

No se como de las dos hacer una.

ADJUNTO las dos MACROS y si alguien esta interesado en ellas las puedan utilizar.

Sub Enviar_RANGO()

'Seleccionamos el rango de celdas a enviar Select

ActiveSheet.Range("A1:B5").Select

' Show the envelope on the ActiveWorkbook.

ActiveWorkbook.EnvelopeVisible = True

'Llamamos al envío...

With ActiveSheet.MailEnvelope

   .Item.To = ""

   '.Item.cc = ""           'con copia a...

   '.Item.bcc = ""     'con copia oculta a...

   .Item.Subject = "Asunto: Envío rango de Excel por email"

   .Introduction = "Ejemplo de rango adjunto con formato..."

   .Item.Send

End With

End Sub

__________________________________________________

Sub Enviar_ARCHIVO()

Dim OutApp As Object

Dim OutMail As Object

Set OutApp = CreateObject("Outlook.Application")

OutApp.Session.logon

Set OutMail = OutApp.CreateItem(0)

ActiveWorkbook.Save

On Error Resume Next

With OutMail

'.To = Range("N2").Value

.CC = Range("N3").Value

.BCC = Range("N4").Value

.Subject = Range("N5").Value

.Body = Range("N6").Value

.Attachments.Add Range("N7").Value

.Send

End With

On Error GoTo 0

Set OutMail = Nothing

Set OutApp = Nothing

End Sub

Gracias y un saludo.

[Hola

En tu macro "Enviar_Rango" usas la propiedad "MailEnvelope" la cual tiene propiedades muy limitadas, por lo que yo en tu caso la descartaría.

La segunda sí te puede servir para ambas cosas pero necesariamente tienes que usar la UDF de la que se hace mención en el artículo enviado en la parte de "Extras", no hay otra forma ¿intentaste usarlo?

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas