Macro para envío de email

Bueno necesito ayuda urgente estoy recién empezando a hacer unas macros y lo que quiero es enviar dos hojas de calculo de un libro de excel que es muy pesado pero lo que tengo es que envía todo el libreo, ¿cómo podría hacer ahí? Este es el código que he hecho:
Sub Send_Msg()
ActiveWorkbook.Save
Dim objOL As New Outlook.Application
Dim objMail As MailItem
Set objOL = New Outlook.Application
Set objMail = objOL.CreateItem(olMailItem)
'indica aquí dónde y cómo se llama el archivo a enviar.
AttachmentPath = "C:\Libro1.xls"
With objMail
.To = "[email protected]" ' cambia a la lista de destinatarios de correo que desees (o a uno solo)
.Subject = "Informe Diario"
. Body = "Adjunto Informe Diario. Saludos" 'Puedes capturarlo de una celda o tipearlo directamente.
'adjunta archivo
If Not IsMissing(AttachmentPath) Then
Set objOutlookAttach = .Attachments.Add(AttachmentPath)
Else
MsgBox "Problema con el path"
End If
.Send
End With
Set objMail = Nothing
Set objOL = Nothing
MsgBox "Mail enviado"
End Sub
Respondanme urgente please

1 respuesta

Respuesta
1
He encontrado un enlace donde dan una posible solución a tu problema, con una macro (VBA) ejecutada desde la misma hoja de cálculo.
http://www.eggheadcafe.com/software/aspnet/32458284/mandar-una-hoja-de-excell.aspx
Léete el hilo completo, ya que hay varias alternativas.
Una de ellas, ejecutando este código en VBA (en definitiva una macro).
Dim direc As String
Dim cuerpo As String
Application.ScreenUpdating =3D False
ActiveSheet.Copy
'direc =3D InputBox("Introduzca una direccion de correo", "mandar
por email la hoja activa")
'cuerpo =3D InputBox(" El mensaje que quiera que incorpore el
email", "Cuerpo del mensaje")
With ActiveWorkbook
.SendMail direc
.Close False
End With
End Sub
Gracias por tu apoyo dogduck pero lo que pasa que no quiero que solo envíe la hoja activa o todo el libro sino dos hojas de dicho libro... no se si podrías ayudarme en ese aspecto... agradeceré de antemano de ayuda...
No he tenido tiempo de probarlo, pero Microsoft te da una posible solución:
Trabajando con Libros y hojas de Excel
Mirate, sending a single worksheet by email. Te envia una hoja
Y en sending an array of worksheets by email. Te envia un conjunto, que es lo que tu deseas.
Tienes más soluciones en esa página.
Hola dogduck tu apoyo me ha servido de mucho para terminar la macro para enviar por email unas hojas de excel.. muchas gracias... que bueno que existan personas como tu que ayudan desinteresadamente.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas