Saltar al contenido
PROGRAMAR EN VBA MACROS DE EXCEL

Excel enviar mail mediante Outlook adjuntando archivo PDF


(adsbygoogle = window.adsbygoogle || []).push({});

En este poste voy a mostrar una macro Excel que envía mail mediante Outlook, adjuntando un archivo en PDF;  anteriormente se ha publicado como enviar un mail con Excel, como crear alertas y enviar mail; macro emite aviso y envía mail a varios destinatarios; pero todas estas macros hacían referencia a configurar directamente el servidor SMTP de Gmail, Yahoo o Hotmail; en este oportunidad voy a mostrar un ejemplo sobre como enviar mail con Excel mediante Outlook con un archivo adjunto en PDF.

Antes de continuar con el presente ejemplo, recomiendo leer un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.

  

Si se observa la codificación del ejemplo que se encuentra más abajo, se podrá ver que lo primero es determinar en forma automática el path o dirección del archivo actual, esto se realiza para guardar un archivo en PDF en forma temporal o no (si se saca el comando Kill), posterior a ello se guarda el archivo actual en PDF en la ruta mencionada.

Terminado este proceso la macro envía el mail, emitiendo un aviso en caso que se haya enviado correctamente, mediante un msgbox, si hubo algún error lo expone también.

Este es uno de otros ejemplos que se publicaron recientemente, que se relacionan con el envío de mails utilizando Outlook y denominados, envio de mail utilizando Outlook y adjuntando una sola hoja y envio de mail mediante Outlook adjuntando todo el libro.

Sugiero descargar desde el link del final el archivo de ejemplo de este ejemplo denominado como enviar mail desde Excel con hyperlink, link o hipertexto; para poder observar su programación, que desde luego se puede modificar o adaptar dependiendo la necesidad de cada lector; el código se encuentra abierto y sin ningún tipo de restricción, solicito colabores con el mantenimiento de la página; como así también que lo compartas en tus redes sociales.

El vídeo que sigue muestra una explicación más detallada y gráfica de la macro presentada, recomiendo observar para una más fácil comprensión de la macro; suscribe a nuestra web desde la parte superior derecha de la página ingresando tu mail y a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como  por ejemplo como copiar varias tablas vinculadas de Excel a Wordcomo ejecutar una macro dependiendo del valor de una celdapasar datos de listbox a hoja de Excelbuscar en listbox mientras escribes en textboxcrear indice a hojas del mismo libro y al menú principalconectar Excel con Access e insertar datos y muchos ejemplos más.

function onYtEvent(payload) {
if (payload.eventType == ‘subscribe’) {
// Add code to handle subscribe event.
} else if (payload.eventType == ‘unsubscribe’) {
// Add code to handle unsubscribe event.
}
if (window.console) { // for debugging only
window.console.log(‘YT event: ‘, payload);
}
}

Código que se inserta en un userform

Sub SendMailbyOutlookCSheetPdf()
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim OA, OM As Object
Dim NA As Variant
Dim Path, TD, fn, mydoc As String
TD = Format(Date, «ddmmyyyy»)
Path = ThisWorkbook.Path & «»
fn = ActiveSheet.Name
mydoc = Path & fn & «.pdf»
Dest = Cells(3, «E»)
Sheets(fn).Copy
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        mydoc, Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
ActiveWorkbook.Close False

Set OA = CreateObject(«Outlook.Application»)
Set OM = OA.CREATEITEM(0)
With OM
    .To = Dest ‘Debes agregar mail destinatario ej «xxxxx@gmail.com»
    .CC = «»
    .BCC = «»
    .Subject = «Reporte de » & fn & » mensuales»
    .Body = «Estimado, en el archivo adjunto se encuentra el reporte de » & fn & » al » & TD & » confirmar recepción»
    .attachments.Add mydoc
    .Send
End With
If Err.Number = 0 Then
       SendMail_Gmail = True
       MsgBox «El mail con archivo adjunto fue enviado con éxito», vbInformation, «AVISO»
Else
       MsgBox «Se produjo el siguiente error: » & Err.Description, vbCritical, «Error nro » & Err.Number
End If
Kill mydoc
Set OM = Nothing
Set OA = Nothing
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


(adsbygoogle = window.adsbygoogle || []).push({});

If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.

Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends      

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Comentarios (23)

Hi there, for all time i used to check web site
posts here early in the morning, for the reason that i like to
gain knowledge of more and more.

Responder

Hello! I’ve been following your blog for a while now and finally got the bravery
to go ahead and give you a shout out from Kingwood Tx!
Just wanted to mention keep up the fantastic job!

Responder

fantastic post, very informative. I’m wondering why the
other experts of this sector don’t understand this. You should proceed your writing.
I’m confident, you have a great readers’ base already!

Responder

Hello! I could have sworn I’ve been to this website before but after browsing through some of the post
I realized it’s new to me. Nonetheless, I’m definitely glad I found it
and I’ll be book-marking and checking back frequently!

Responder

Great post.

Responder

What’s up, all the time i used to check weblog posts here in the early
hours in the dawn, as i like to find out more and more.

Responder

I every time spent my half an hour to read this webpage’s articles every day
along with a mug of coffee.

Responder

If you desire to get a great deal from this article then you have to apply these techniques to
your won weblog.

Responder

Asking questions are in fact good thing if you are not understanding something totally, however this paragraph presents fastidious understanding even.

Responder

I got this web site from my friend who told me about this
site and now this time I am browsing this site and reading very informative articles or
reviews at this place.

Responder

Hello i am kavin, its my first time to commenting anywhere, when i read this article i thought i could also make comment due to
this sensible piece of writing.

Responder

Fantastic website you have here but I was wanting to know if you knew of any message boards that cover
the same topics talked about in this article? I’d really love to be a
part of community where I can get comments from other knowledgeable
people that share the same interest. If you have any suggestions, please let me know.
Cheers!

Responder

Hi there, I discovered your web site via Google at the same time as searching for a similar matter, your site got here up, it looks
good. I’ve bookmarked it in my google bookmarks.

Hello there, just turned into alert to your blog through
Google, and found that it’s truly informative.
I’m gonna watch out for brussels. I’ll appreciate in the event you proceed this in future.
Many folks will probably be benefited out of your writing.
Cheers!

Responder

Piece of writing writing is also a fun, if you be
familiar with after that you can write if not it is complicated to write.

Responder

It is appropriate time to make some plans for the future and
it’s time to be happy. I have read this post and if I could I wish to suggest you some interesting things or
suggestions. Perhaps you can write next articles referring to this article.
I want to read even more things about it!

Responder

That is a very good tip particularly to those new to the blogosphere.
Short but very accurate information… Appreciate your
sharing this one. A must read post!

Responder

Have you ever considered publishing an ebook or guest authoring on other sites?
I have a blog based on the same subjects you discuss and
would love to have you share some stories/information. I know my viewers would value your work.
If you are even remotely interested, feel free to shoot me
an e mail.

Responder

I don’t even know the way I stopped up right here, but
I assumed this post was once good. I don’t realize who you might be but
definitely you are going to a famous blogger in case you aren’t already.
Cheers!

Responder

Hello there, just became alert to your blog through Google, and found that it’s truly informative.

I’m going to watch out for brussels. I will appreciate if you continue this in future.
Lots of people will be benefited from your writing.
Cheers!

Responder

Thank you for sharing your thoughts. I really appreciate your efforts and I am waiting for
your next post thank you once again.

Responder

Thankfulness to my father who informed me concerning this weblog, this
website is actually amazing.

Responder

Somebody necessarily lend a hand to make significantly posts I might state.
This is the very first time I frequented your website page and so far?
I amazed with the research you made to create this actual publish incredible.
Wonderful process!

Responder

bookmarked!!, I like your blog!

Responder