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: HTM, TXT e RTF.
Note: Application 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-2013Dim OutApp As ObjectDim OutMail As ObjectDim strbody As StringDim SigString As StringDim Signature As StringSet 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) <> "" ThenLet Signature = GetBoiler(SigString)ElseLet Signature = ""End IfOn Error Resume NextWith OutMailLet .DisplayLet .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>" & .HTMLBodyLet .SendEnd WithOn Error GoTo 0Set OutMail = NothingSet OutApp = NothingEnd SubFunction GetBoiler (ByVal sFile As String) As StringDim fso As ObjectDim ts As ObjectSet fso = CreateObject("Scripting.FileSystemObject")Set ts = fso.GetFile(sFile).OpenAsTextStream(1, -2)Let GetBoiler = ts.readallts.CloseEnd Function
Referência: Ron de Bruin
Tags: VBA, Outlook, email, e-mail, send, enviar, assinatura, signature, HTM, RTF, TXT, Ron de Bruin