GTTJ Postado Março 6, 2011 Denunciar Share Postado Março 6, 2011 Prezados,Boa noite,Tenho uma macro que pega informações de uma Sheet e coloca no corpo do e-mail.O Que eu quero é que além de pegar esta informação é que coloque a minha assinaturaconfigurada no meu Outlook, ao invés de colocar uma assinatura sem formatação, como texto. Alguém pode me ajudar?Desde já agradeço à atenção, :ninja: Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 GTTJ Postado Março 19, 2011 Autor Denunciar Share Postado Março 19, 2011 (editado) Prezados,Bom dia,Segue a solução:Tenho a seguinte macroOption Explicit Dim assinatura As Variant Public Function pega_assinatura(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) pega_assinatura = ts.readall ts.Close End Function Sub Envio_Email() On Error Resume Next Dim myOlApp As Outlook.Application Dim myItem As MailItem Dim myAttachments As Attachments Set myOlApp = CreateObject("Outlook.Application") Set myItem = myOlApp.CreateItem(olMailItem) Set myAttachments = myItem.Attachments 'Esta função está sendo considerada para o Windows NT, caso for o Windows XP o caminho para o arquivo de assinatura é C:\Documents and Settings\" & Environ("username") "\Dados de Aplicativos\Microsoft\Signatures\Sem título.htm") assinatura = pega_assinatura("C:\Documents and Settings\" & Environ ("username") & "\Application Data\Microsoft\Signatures\Sem título.htm") With myItem .To = Sheets("E-MAIL").Range("h4").Value '"gsalves@contax.com.br" .Cc = Sheets("E-MAIL").Range("h11").Value '"gsalves@contax.com.br" .Subject = "Relatório de Aderência Atualizado até " & Sheets("E-MAIL").Range("H9").Value 'Além de colocar todo o conteúdo em formato HTML estas linhas pegam a assina- 'tura na minha máquina. .HTMLBody = "<html><body>" & Sheets("E-MAIL").Range("H17").Value & "<P>" & Sheets("E- MAIL").Range("H19").Value & _ "<P>" & Sheets("E-MAIL").Range("H21").Value & "<P>" & Sheets("E-MAIL").Range ("H23").Value & _ "<P>" & Sheets("E-MAIL").Range("H25").Value & assinatura & "</body></html>" myItem.SentOnBehalfOfName = Sheets("E-MAIL").Range("h2").Value myAttachments.Add Range("L1").Value .Display SendKeys ("%r"), True End With Windows("MATRIZ DE ADERÊNCIA.xls").Activate End SubObservações: 1º Este código além de capturar a assinatura que você tenha cadastrado no Outlook ela preenche os Campos "De", "Para", "Cc", "Assunto" e "Anexo";2º O Comando SendKeys ("%r"), True evita a maldita mensagem de segurança do Outlook 2003;3º Para que este código funcione é necessário referenciar a biblioteca do Outlook 2003, ou seja, Ferramentas\Referências no editor de VBA e marcar a opção Microsoft Office Outlook 11.0 Object Library.Desde já agradeço à atenção de todos. :ninja: Editado Março 20, 2011 por kuroi Adicionar tag CODE Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kavernna Postado Janeiro 20, 2012 Denunciar Share Postado Janeiro 20, 2012 Amigo, estou querendo inserir um contador para cada mensagem enviado, poderia me ajudar.Prezados,Bom dia,Segue a solução:Tenho a seguinte macroOption Explicit Dim assinatura As Variant Public Function pega_assinatura(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) pega_assinatura = ts.readall ts.Close End Function Sub Envio_Email() On Error Resume Next Dim myOlApp As Outlook.Application Dim myItem As MailItem Dim myAttachments As Attachments Set myOlApp = CreateObject("Outlook.Application") Set myItem = myOlApp.CreateItem(olMailItem) Set myAttachments = myItem.Attachments 'Esta função está sendo considerada para o Windows NT, caso for o Windows XP o caminho para o arquivo de assinatura é C:\Documents and Settings\" & Environ("username") "\Dados de Aplicativos\Microsoft\Signatures\Sem título.htm") assinatura = pega_assinatura("C:\Documents and Settings\" & Environ ("username") & "\Application Data\Microsoft\Signatures\Sem título.htm") With myItem .To = Sheets("E-MAIL").Range("h4").Value '"gsalves@contax.com.br" .Cc = Sheets("E-MAIL").Range("h11").Value '"gsalves@contax.com.br" .Subject = "Relatório de Aderência Atualizado até " & Sheets("E-MAIL").Range("H9").Value 'Além de colocar todo o conteúdo em formato HTML estas linhas pegam a assina- 'tura na minha máquina. .HTMLBody = "<html><body>" & Sheets("E-MAIL").Range("H17").Value & "<P>" & Sheets("E- MAIL").Range("H19").Value & _ "<P>" & Sheets("E-MAIL").Range("H21").Value & "<P>" & Sheets("E-MAIL").Range ("H23").Value & _ "<P>" & Sheets("E-MAIL").Range("H25").Value & assinatura & "</body></html>" myItem.SentOnBehalfOfName = Sheets("E-MAIL").Range("h2").Value myAttachments.Add Range("L1").Value .Display SendKeys ("%r"), True End With Windows("MATRIZ DE ADERÊNCIA.xls").Activate End SubObservações: 1º Este código além de capturar a assinatura que você tenha cadastrado no Outlook ela preenche os Campos "De", "Para", "Cc", "Assunto" e "Anexo";2º O Comando SendKeys ("%r"), True evita a maldita mensagem de segurança do Outlook 2003;3º Para que este código funcione é necessário referenciar a biblioteca do Outlook 2003, ou seja, Ferramentas\Referências no editor de VBA e marcar a opção Microsoft Office Outlook 11.0 Object Library.Desde já agradeço à atenção de todos. :ninja: Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 moki Postado Março 13, 2018 Denunciar Share Postado Março 13, 2018 Boa tarde, necessito da vossa ajuda. tenho um código em VBA no access que faz o envio automático de email via outlook. Nesse código, estou a utilizar a função GetBoiler que vai buscar a minha assinatura do outlook: 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 Mas acontece que a minha assinatura é constituida por texto e por uma imagem. O código vai buscar a assinatura mas não mostra a imagem. Já verifiquei tudo o que tinha de verificar nas "opções" do outlook e está tudo Ok. Até porque se eu envio o email normalmente a assinatura aparece com a imagem. Podem ajudar? Preciso mesmo de resolver esta situação. Obrigado! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
GTTJ
Prezados,
Boa noite,
Tenho uma macro que pega informações de uma Sheet e coloca no corpo do e-mail.
O Que eu quero é que além de pegar esta informação é que coloque a minha assinatura
configurada no meu Outlook, ao invés de colocar uma assinatura sem formatação, como texto.
Alguém pode me ajudar?
Desde já agradeço à atenção, :ninja:
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.