Como pegar el contenido de un textbox en body de mail?

Tengo un formulario con una serie de textbox y un botón que al pulsarlo abre el Outlook para enviar un correo con un asunto y un body ya fijado, lo que me gustaría saber si se puede hacer es: que al abrir Outlook además de tener todo ya relleno me llevara también al body del mensaje los registros que se encuentran en las textbox que yo le diga. Os dejo el código que uso a ver si se podría cambiando algo de ahí. Muchas gracias.

Private Sub ACEPTACION_Click()

    Dim mailA As String

    mailA = Me.EMAIL.Value

    Dim Olk As Outlook.Application

    Set Olk = CreateObject("Outlook.Application")

        Dim OlkMsg As Outlook.MailItem

    Set OlkMsg = Olk.CreateItem(olMailItem)

    With OlkMsg

        Dim OlkDestinatario As Outlook.Recipient

        Set OlkDestinatario = .Recipients.Add(mailA)

        OlkDestinatario.Type = olTo

        .Subject = "GENERAR NÚMERO "

        .Body = "El cliente acepta, hay que generar NÚMERO OT" 

        .Display

    End With

     Set Olk = Nothing

    Set OlkMsg = Nothing

    Set OlkDestinatario = Nothing

End Sub

2 Respuestas

Respuesta
2

Iñigo: Crea una variable Publica, que sea por Ejemplo   >> Public ElTextoDelMail As String

La cargas con

ElTextoDelMail = Me.Texto1 & Me.Texto2 .....

Sería conveniente prevenir Nulos usando >> Nz(Me.Texto1,"")...

Luego en el Cuerpo del mensaje:

.Body = "El cliente acepta, hay que generar NÚMERO OT" & ElTextoDelMail & "Lo que tu quieras"

Mis saludos >> Jacinto

He añadido lo que me has dicho pero no soy capaz a ponerlo bien para que me coja el código.

Pero me sale error de sintaxis en la línea .body, ya me lo imaginaba pero es que no se como ponerlo. Gracias

Private Sub ACEPTACION_Click()

    Dim nexpediente As String

 

    Nexpediente = Me.EXPEDIENTE.Value

 

    Dim mailA As String

    mailA = Me.EMAIL.Value

    Dim Olk As Outlook.Application

    Set Olk = CreateObject("Outlook.Application")

        Dim OlkMsg As Outlook.MailItem

    Set OlkMsg = Olk.CreateItem(olMailItem)

    With OlkMsg

        Dim OlkDestinatario As Outlook.Recipient

        Set OlkDestinatario = .Recipients.Add(mailA)

        OlkDestinatario.Type = olTo

        .Subject = "GENERAR NÚMERO "

        .Body = "El cliente acepta, hay que generar NÚMERO OT"  & nexpediente &

        .Display

    End With

     Set Olk = Nothing

    Set OlkMsg = Nothing

    Set OlkDestinatario = Nothing

End Sub

Iñigo: Ponle simplemente >>

.Body = "El cliente acepta, hay que generar NÚMERO OT "  & Me.Expediente

Saludos >> Jacinto

Respuesta
2

¿Son necesarias tantas líneas de código? Puedes poner simplemente

DoCmd.SendObject acSendNoObject, , "RichTexformat(*.rtf)", "'" & Me.Email & "'", , , "Estimado amigo  " & Me.NombreContacto & " , De acuerdo con lo que hablamos, o pagas o te corto los huevos", "" & Me.pais & "" & " " & "" & Me.NombreCompañía & "", True

Lo de Estimado amigo... contacto es el asunto del mensaje

Lo de Me. Pais y me. Nombrecompañia son cuadros de texto el formulario

Lo de email es que en el formulario hay un cuadro de texto con el email

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas