none
No se ve la imagen de la firma de los eMails de Outlook creados con VBA Excel RRS feed

  • Pregunta

  • Hola, tengo la siguiente macro que crea una eMail de Outlook desde VBA Excel , le adjunta un .pdf y le añade la firma que tengo en Outlook, en la que aparece una imagen seguida de un texto.

    El problema es que al recibir el correo, se ve el recuadro que ocupa la imagen en blanco, y debajo el texto, y no se ve la imagen.

    ¿Alguien me puede ayudar?

    Saludos y gracias

    Sub correos()
    Dim strReportName As String
    strReportName = "H:\Carpeta" & Worksheets("Pendiente").Range("A" & i).Value & ".pdf"
       Dim objOutlook As Object 'Outlook.Application 'Object
       Dim objMail As Object
        Dim SigString As String
        Dim Signature As String
       On Error Resume Next
        Set objOutlook = GetObject("", "Outlook.Application")
        Err.Clear
        If objOutlook Is Nothing Then Set objOutlook = CreateObject("Outlook.Application")
        objOutlook.Visible = True
          Set objMail = objOutlook.CreateItem(0)
        SigString = "C:\Users\Carlos\AppData\Roaming\Microsoft\Firmas\Carlos.htm" 
         If Dir(SigString) <> "" Then
            Signature = GetBoiler(SigString)
        Else
            Signature = ""
            MsgBox "VACIO"
        End If
        On Error Resume Next
          With objMail
             'A quien va dirigido el correo
             .To = "carlos@hotmail.com"
             'Se especifica el asunto
             .Subject = Worksheets("Pendiente").Range("A" & i).Value
             'Se escriben el o los archivos a adjuntar en el mail
             .Attachments.Add (strReportName)
              .HTMLBody = "Hola. <br> <br> <br> Saludos <br> <br> <br>" & Signature
             'Se manda el mensaje
             .Send
          End With
       'Se cierran todos los objetos utilizados
       Set objMail = Nothing
       Set objOutlook = Nothing
    End Sub
       Function GetBoiler(ByVal sFile As String) As String
    'Dick Kusleika
        Dim fso As Object
        Dim ts As Object
        Set fso = CreateObject("Scripting.FileSystemObject")
        Set ts = fso.GetFile(sFile).OpenAsTextStream(1, -2)
        GetBoiler = ts.readall
        ts.Close
    End Function   


     




    • Editado Carlos8383 miércoles, 8 de febrero de 2017 2:46
    • Cambiado Enrique M. Montejo miércoles, 8 de febrero de 2017 6:28 Programación con objetos de Microsoft Outlook y Microsoft Excel mediante Visual Basic para Aplicaciones.
    miércoles, 8 de febrero de 2017 2:25