none
Dar formato a cuerp de mail enviado con macros desde Excel RRS feed

  • Pregunta

  • Hola!

    Sé poco y nada sobre macros pero investigando mucho en Internet logré crear una macro que tome datos desde un Excel para generar un mensaje y automáticamente lo envíe a distintas casillas de correo. Ahora quisiera que este mensaje se vea más "amigable", que tenga color, negritas, etc. No tengo ni idea de cómo hacer... Alguien podrá ayudarme?

    Muchas gracias!

    Sub AVISOS()
    '
    ' Declaramos variables
    '
    Dim OutlookApp As Outlook.Application
    Dim MItem As Outlook.MailItem
    Dim cell As Range
    Dim Asunto As String
    Dim Correo As String
    Dim Destinatario As String
    Dim FechaRechazo As String
    Dim NumeroCheque As String
    Dim ImporteCheque As String
    Dim MotivoRechazo As String
    Dim Msg As String
        '
            Set OutlookApp = New Outlook.Application
        '
        'Recorremos la columna EMAIL
        '
        For Each cell In Range("G5:G60")
            '
            'Asignamos valor a las variables
            '
            Asunto = "Aviso de cheque rechazado"
            Destinatario = cell.Offset(0, -5).Value
            Correo = cell.Value
            FechaRechazo = cell.Offset(0, -4).Value
            NumeroCheque = cell.Offset(0, -2).Value
            ImporteCheque = cell.Offset(0, -3).Value
            MotivoRechazo = cell.Offset(0, -1).Value
                   

            '
            'Cuerpo del mensaje
            '
            Msg = "Estimados " & Destinatario & vbNewLine & vbNewLine
            Msg = Msg & "Informamos a ustedes que registramos un cheque rechazado con fecha "
            Msg = Msg & FechaRechazo & vbNewLine & vbNewLine
            Msg = Msg & "El número del mismo es "
            Msg = Msg & NumeroCheque & " y el importe es de " & ImporteCheque & vbNewLine & vbNewLine
            Msg = Msg & "Motivo del rechazo: " & MotivoRechazo & vbNewLine & vbNewLine
            Msg = Msg & "El importe del mismo se descontará del saldo disponible que tengan en cuenta" & vbNewLine & vbNewLine
            Msg = Msg & "Para mayor información, no dude en contactarse con nuestro Call Center al 0800-xxx-xxx" & vbNewLine & vbNewLine
            Msg = Msg & "Por favor, confirmar recepción. Muchas gracias" & vbNewLine & vbNewLine
            Msg = Msg & "EMPRESA X SA & vbNewLine & vbNewLine"
            '
            Set MItem = OutlookApp.CreateItem(olMailItem)
            With MItem
                .To = Correo
                .Subject = Asunto
                .Body = Msg
                .Send
                '
            End With
            '
        Next
        '
    End Sub

    martes, 7 de noviembre de 2017 14:25

Todas las respuestas

  • por ejemplo colocar fuente y negrita


    Msg = Msg &"<FONT SIZE=3><b>Motivo del rechazo:"


    • Editado greg_dorian miércoles, 8 de noviembre de 2017 14:46
    martes, 7 de noviembre de 2017 16:52
  • Gracias pero dónde debería poner "= OutMail.HTMLBody"?
    martes, 7 de noviembre de 2017 20:50
  • mira esta porcion de codigo puede servir de guia
    Sub TestFile
    
    Dim strTrackingNumber as String
    strTrackingNumber = InputBox("Please input the Tracking Number")
    Set objMsg = Application.CreateItem(olMailItem)
    
     With objMsg
      .To = "mickey.smith@surfer.com"
      .CC = ""
      .BCC = ""
      .Subject = "Forecast"
      .Categories = ""
      .BodyFormat = olFormatHTML ' send HTML message
      .HTMLBody = "<style> body{color:black;font-family:Arial;font-size: 12pt;}" & _
    "<HTML><body>Dear Member,<br><br>&emsp;The following document is ready for your review."<a href= 'http://www.bluewave.com/' & strTrackingNumber>Tracking & strTrackingNumber.</a></body>
    
    .Display
    End With
    Set objMsg = Nothing
    End Sub

    miércoles, 8 de noviembre de 2017 14:45