Enviar correo desde Excel

He colocado un botón en la hoja de una planilla de cálculo, cuyo fin era enviar un aviso a otro usuario por medio de correo electrónico. Pero el Excel no me deja grabar la macro con: Enviar a ...
Luego probé con: Application. ActiveWorkbook. SendMail...
Pero ésta úlitma me envía el archivo adjunto.
¿Se puede sacar esta opción del archivo adjunto?
¿Hay alguna manera más flexible de manejar el envío de correos mediante Excel?
Respuesta
1
Asóciale a ese botón el siguiente código:
Sub Send_Msg()
Dim objOL As New Outlook.Application
Dim objMail As MailItem
Set objOL = New Outlook.Application
Set objMail = objOL.CreateItem(olMailItem)
With objMail
.To = "[email protected]" ' cambia al destinatario de correo que desees
.Subject = "Aquí coloca el título de tu mensaje"
.Body = "Aqui coloca el mensaje que quieres que aparezca"
' .Display 'muestra mensaje
.Send
End With
Set objMail = Nothing
Set objOL = Nothing
MsgBox "Mail enviado"
End Sub
También podrías tomar el nombre de alguna celda de la planilla si es que este cambiara con alguna frecuencia.
Importante: Para que este código funcione, debe estar instalada la biblioteca de Outlook.
Dentro del Editor de Visual Basic, haz click en "Herramientas" | "Referencias"; busca y marca (si no lo estuviera) la biblioteca "Microsoft Outlook Object Library"
aclarando qué entendí mal o qué faltó.
Fernando: desde ya te digo que excelente tu respuesta sobre este asunto, pero que ocurre si solo tengo el Outlook Express.
¿Este código me sirve? ¿O tengo que cargar otra librería (la del Express)?
Mi sugerencia es que cargues ambas bibliotecas, la de Outlook y la de Outlook Express.
En caso de que recibas error con alguna de ellas sabrás si puedes utilizarlas o no.
De todos modos, prueba la ejecución de la macro y dime.
Un abrazo!
Fernando
Fernando: Cargué la librería del Express, pero la macro utiliza el Outlook y como yo utilizo el primero me tira error: "No se pudo abrir el almacén de información."
En el caso que no cargo la librería del Outlook, me tira error en el objeto.
¿Se puede enviar el mail solo con el Outlook Express?
Yo voy a investigar, pero cualquier ayuda tuya será muy bien recibida.
Un abrazo.
Por alguna razón inconsciente dejé tu pregunta pendiente aún cunado no tenía una respuesta para tu segunda pregunta.
A lo sumo podría haber dicho que este tipo de tareas se efectúa en entorno de Outlook porque este "interpreta" instrucciones de VBA mientras que Outlook Express no.
Pero hoy dí con un artículo que ratifica lo dicho en el párrafo anterior pero que muestra un intento por resolverlo en entorno OE.
El artículo está en inglés y podrás encontrarlo en:
http://j-walk.com/ss/excel/tips/tip86.htm
(Cuida de copiar toda la dirección URL a tu barra de navegación, pues suele cortarse cuando se toma de esta pantalla)
Espero que el idioma no sea un inconveniente pero, aunque lo fuera, encontrarás rápidamente donde está el código para Outlook Express.
Si bien no he probado ese código, supongo que debe estar testeado y probablemente te sea de mucha utilidad.
Un abrazo grande!
Fernando

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas