Olá Bedin, td bem
Desculpe a demora, estava ausente esses dias
Bom, crie uma pequena aplicação que demostra como capturar a assinatura
Para teste, crie um Módulo de Classe
Para usar a classe, utilize o código 2 em um userform por exemplo
Segue nas proximas mensagens o código completo da aplicação
Private oApp As Outlook.Application
Dim oMail As Outlook.MailItem
Private m_objAppInst As Outlook.Application
Private m_sPathAssinaturas As String
Private m_sAppDataDir As String
Private m_sNomeAssinatura As String
Private m_sFullPathAss As String
Private m_sContentMailBody As String
Private Sub Class_Initialize()
InstanciaOutlook
End Sub
Private Sub Class_Terminate()
Set m_objAppInst = Nothing
End Sub
Sub InstanciaOutlook()
On Error Resume Next
LoadVars
Set oApp = GetObject(, "Outlook.Application")
If oApp Is Nothing Then
Set oApp = New Outlook.Application
End If
Set AppInst = oApp
ListaAssinaturas
End Sub
Sub GeraEmail()
'Defini o diretório onde estão armazenadas as assinaturas
FullPathAss = PathAssinaturas + Me.NomeAssinatura & ".htm"
Me.ContentMailBody = getMailBody
If Me.ContentMailBody <> "" Then
Set oMail = AppInst.CreateItem(olMailItem)
oMail.HTMLBody = Me.ContentMailBody & vbNewLine & vbNewLine & GetAssinatura("pessoal")
oMail.Display
End If
End Sub
Private Function getMailBody() As String
Dim sCheck As String
On Error Resume Next
sCheck = Dir(Me.ContentMailBody)
If sCheck <> "" Then
getMailBody = getHTMLFromFilename(Me.ContentMailBody)
Else
getMailBody = Me.ContentMailBody
End If
End Function
Private Sub LoadVars()
Dim oShell As Object
'Instancia o motor de script
Set oShell = CreateObject("WScript.Shell")
'Recebe o diretório padrão de dados do perfil do usuário
AppDataDir = oShell.SpecialFolders("AppData")
PathAssinaturas = AppDataDir + "MicrosoftAssinaturas"
End Sub
Private Function getHTMLFromFilename(sFileName As String)
'Constante de leitura de arquivos
Const ForReading = 1, ForWriting = 2
'Instancia o Fso
Set fso = CreateObject("Scripting.FileSystemObject")
'Abre o arquivo da assinatura somente leitura
Set f = fso.OpenTextFile(sFileName, ForReading)
'Recupera o seu conteudo (HTML)
getHTMLFromFilename = f.ReadAll
'Fecha, não precisamos mais dele
f.Close
End Function
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 25/08/2009 10:19 am