Jump to content
Sign in to follow this  
dragonniko

Enviar Emails desde Excel con Macros

Recommended Posts

Estimados.

Estuve leyendo varios post y no logro encontrar especificamente con una solución.

En primer lugar necesito mandar un email con una macro con un contenido de excel.

Logro armar los distintos emails para cada destinatario especifico, ponerle un subject, pero no logro poner el cuerpo del mensaje.

NO necesito enviar una celda sola, ya que con .body = Range (Celda) lo envia, sino que necesito que envie toda una tabla entera.

Probe varias formas y no logro dar con la correcta.

.body= Range("A1:I11")

.body= Range("A1:I11").Value

.htmlbody=...

También he intentado con lo siguiente:

Sub EnviarEmail(Destinatario As Variant)

With ActiveSheet.MailEnvelope

.Introduction = Introduccion

.Item.to = Destinatario

.Item.Subject = Asunto

.Item.Send

End With

End Sub

Pero nada!

Les paso como tengo mi macro actualmente para que me puedan ayudar:

Sub Outlook_mio()

Dim UltFila, X As Long

UltFila = Cells(Cells.Rows.Count, 1).End(xlUp).Row

'variable para "manejar" el objeto Outlook

Dim OutApp As Object

'variable para "manejar" el objeto mail

Dim OutMail As Object

For X = 2 To UltFila

'creamos el objeto Outlook, para acceder a sus

'propiedades, métodos y eventos:

Set OutApp = CreateObject("Outlook.Application")

'logeamos: ojo acá, debemos tener la cuenta bien configurada

OutApp.Session.logon

'creo el mail

Set OutMail = OutApp.CreateItem(0)

'guardamos el libro actual, antes de enviarlo:

ActiveWorkbook.Save

'y acá comienza el "proceso de envío"

On Error Resume Next

With OutMail

'Dirección del Destinatario

.To = Cells(X, 9)

'asunto:

.Subject = Range("M1:M1").Value

'cuerpo

.Body = Range("A1:I1")

.CC = "" 'si queremos agregar alguna copia

.BCC = "" 'si queremos agregar alguna copia oculta

.display 'y envío el correo

End With

Next X

'destruyo los objetos para liberar recursos

Set OutMail = Nothing

Set OutApp = Nothing

End With

End Sub

Gracias!!!!

Share this post


Link to post
Share on other sites

Buenas noches,

Por indicar algo que debiera funcionar con lo que parece que tienes, te diría lo siguiente:


Sub Outlook_mio()
Dim UltFila, X As Long, info As String
UltFila = Range("I1").End(xlDown).Row
'variable para "manejar" el objeto Outlook
Dim OutApp As Object
'variable para "manejar" el objeto mail
Dim OutMail As Object
For X = 2 To UltFila
'creamos el objeto Outlook, para acceder a sus
'propiedades, métodos y eventos:
Set OutApp = CreateObject("Outlook.Application")
'logeamos: ojo acá, debemos tener la cuenta bien configurada
OutApp.Session.logon
'creo el mail
Set OutMail = OutApp.CreateItem(0)
'guardamos el libro actual, antes de enviarlo:
ActiveWorkbook.Save

info = ""
info = Range("A1").Value & " - " & Range("B1").Value

'y acá comienza el "proceso de envío"
On Error Resume Next
With OutMail
'Dirección del Destinatario
.To = Cells(X, 9)

'asunto:
.Subject = Range("M1:M1").Value

'cuerpo
.Body = info

.CC = "" 'si queremos agregar alguna copia
.BCC = "" 'si queremos agregar alguna copia oculta

.display 'y envío el correo
End With
Next X
'destruyo los objetos para liberar recursos
Set OutMail = Nothing
Set OutApp = Nothing

End Sub

[/CODE]

Debieras consultar la página: Excel Automation - Ron de Bruin

Saludos,

Juan

Share this post


Link to post
Share on other sites

Hola Salvador,

Pues me parece fenomenal:

- Se envía el mensaje perfectamente.

- Hay instrucciones que me quedo para analizar: Tengo que dar de comer a mi inquietud y desarrollar nuevas posibilidades.

Saludos,

Juan

Share this post


Link to post
Share on other sites

Hola Febrero

Muchas gracias por tu comentario.

Pero no es lo que estoy buscando.

Porque ahi solamente lo que logro es que se me almacenen varios valores en una variable y que luego eso sea el contenido del email.

Yo lo que necesito es que la TABLA completa, por ejemplo A1:I11, sea enviada integra con el mismo formato en el cuerpo del mensaje.

Se entiende??

Gracias nuevamente por responder

- - - - - Mensaje combinado - - - - -

Hola Salvador.

Gracias por el adjunto.

Como le dije a Febrero, es muy bueno el programa, pero ahi lo que hago es ADJUNTAR cualquier tipo de archivo y enviarlo.

El cuerpo del mensaje a ser enviado por email (en tu ejemplo) es solamente "Saludos" y yo necesito enviar una tabla entera pero insertada en el cuerpo del email, no como adjunto.

Se entiende?

Muchas gracias por la respuesta!

Share this post


Link to post
Share on other sites

Hola Dragonniko:

La verdad es que me suena haber utilizado una macro con lo que propones, pero no la encuentro en mi ordenador.

Pero he encontrado esto https://www.ayudaexcel.com/foro/macros-programacion-vba-10/insertar-tabla-correo-no-como-adjunto-23146/, que quizás sea lo que necesitas. No lo he probado porque en casa no tengo Outlook. Ya nos contarás.

Saludos.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

INFORMACIÓN BÁSICA SOBRE PROTECCIÓN DE DATOS

Responsable: Sergio Andrés Celemín

Finalidad: Moderar y responder comentarios de usuarios. Recuerda que la información que facilites es pública, y los datos que incluyas los leerá cualquier visitante de esta web, así como el avatar que poseas.

Legitimación: Consentimiento del interesado.

Destinatarios: Hetzner Online GmbH.

Derechos: Puedes ejercitar en cualquier momento tus derechos de acceso,
rectificación, supresión, oposición y demás derechos legalmente establecidos a
través del email sergio@ayudaexcel.com.

Información adicional: Encontrarás más información en la política de privacidad.

Sign in to follow this  



×
×
  • Create New...

Important Information

Privacy Policy


CTA Templates.png