Después de investigar un rato he llegado a la conclusión que la mejor manera de dar formato a tu texto del mail es a través de HTML. Antes de que me pidas alguna cosa ya te avanzo que yo, de HTML, ni idea.
Así pues te paso el código que yo he probado y que me ha funcionado correctamente. Míralo bien porque te he puesto una serie de comentarios en el código que requieren que hagas una cosa u otra, en función de tus necesidades. Así como está digamos que no ejecuta "la parte final del proceso". Dependerá, como ya te comentaba, de lo que requieras.
También ten en cuenta que deberás tener el Outlook abierto antes de enviar el mail, porque si no con toda probabilidad te dará problemas.
El código es el siguiente:
---
Private Sub...
'Creamos una instancia de Outlook
Dim Olk As Outlook.Application
Set Olk = CreateObject("Outlook.Application")
'Creamos un nuevo mensaje de Outlook
Dim OlkMsg As Outlook.MailItem
Set OlkMsg = Olk.CreateItem(olMailItem)
'Creamos la información del mail
With OlkMsg
Dim OlkDestinatario As Outlook.Recipient
Set OlkDestinatario = .Recipients.Add("
[email protected]")
OlkDestinatario.Type = olTo
.Subject = "Prueba desde Access"
.BodyFormat = olFormatHTML
. HTMLBody = "<html><H2>El cuerpo de este mensaje será en HTML<H2><BODY>Este es el mensaje</BODY>"
'De las dos líneas siguientes, o bien utilizas Display o bien utilizas Send, pero no las dos
'al mismo tiempo. OJO!
'Quítale la comilla simple para poder ver el mensaje. Lo tendrás que enviar manual
'.Display
'Quítale la comilla simple para que te lo envíe automáticamente. No verás cómo queda
'.Send
End With
Set Olk = Nothing
Set OlkMsg = Nothing
Set OlkDestinatario = Nothing
End Sub
---
Evidentemente, en la línea .HTMLBody = "<html><H2>El cuerpo de este mensaje será en HTML<H2><BODY>Este es el mensaje</BODY>" deberás escribir el texto que quieras y darle el formato a través de las etiquetas de html.
Ya me dirás qué tal.