Views

Important:

Quaisquer necessidades de soluções e/ou desenvolvimento de aplicações pessoais/profissionais, que não constem neste Blog podem ser tratados como consultoria freelance à parte.

...

1 de abril de 2013

VBA Outlook - Inserindo assinatura no e-mail sem imagem - Insert Outlook Signature in mail


O código nesta página só funciona quando você usa o Outlook como seu programa de email.

Insira a assinatura que desejar sem foto.

Para criarmos uma assinatura no Outlook vamos precisar de três arquivos: HTMTXT e RTF.

NoteApplication Data e AppData são pastas ocultas, altere a visibilidade destas no Windows Explorer para que ele as mostre, bem como os arquivos ocultos, se quiser vê-los.

No código abaixo usamos o arquivo HTM. Mude somente o nome do arquivo de assinatura no código para o seu nome. No Outlook, você verá o nome de cada assinatura que tiver, este também é o nome do arquivo (HTM) de assinatura. No exemplo abaixo usaremos o nome Mysig. O código encontrará o caminho correto para você.

Importante: O código não adicionará nenhuma assinatura se você tentar o código no Excel 2000-2003 e o Word for o seu editor. Poderá mudar essa configuração do Outlook 2000/2003 nas opções se quiser, e não terá problemas, quando executar o código no Excel 2007-2013.

Sub MailOutlookWithSignatureHtml02()
' Não se esqueça de copiar a função GetBoiler no seu módulo.
' Funciona nos Offices 2000-2013
    Dim OutApp As Object
    Dim OutMail As Object
    Dim strbody As String
    Dim SigString As String
    Dim Signature As String

    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)

    Let strbody = "<H3><B>Cara Cliente Ana Cláudia</B></H3>" & _
              "Queira, por favor, visitar o nosso website e fazer um download da nossa nova versão.<br>" & _
              "Caso ocorra algum problema, deixe-nos cientes disso.<br>" & _
              "<A HREF=""http://inanyplace.blogspot.com/"">A&A - In Any Place</A>" & _
              "<br><br><B>Thank you</B>"

    'Mudando somente o Mysig.htm para o nome da sua assinatura.
    Let SigString = Environ("appdata") & "\Bernardes\Assinaturas\Mysig.htm"

    If Dir(SigString) <> "" Then
        Let Signature = GetBoiler(SigString)
    Else
        Let Signature = ""
    End If

    On Error Resume Next

    With OutMail
        Let .Display
        Let .To = "bernardess@gmail.com"
        Let .CC = ""
        Let .BCC = "bernardess@gmail.com"
        Let .Subject = "A&A: Teste de envio de e-mail"
        Let .HTMLBody = strbody & "<br>" & .HTMLBody
        Let .Send
    End With

    On Error GoTo 0

    Set OutMail = Nothing
    Set OutApp = Nothing
End Sub


Function GetBoiler (ByVal sFile As String) As String
    Dim fso As Object
    Dim ts As Object

    Set fso = CreateObject("Scripting.FileSystemObject")
    Set ts = fso.GetFile(sFile).OpenAsTextStream(1, -2)

    Let GetBoiler = ts.readall

    ts.Close
End Function


ReferênciaRon de Bruin 

Tags: VBA, Outlook, email, e-mail, send, enviar, assinatura, signature, HTM, RTF, TXT, Ron de Bruin


Nenhum comentário:

Postar um comentário

eBooks VBA na AMAZOM.com.br

Vitrine