Insérer Signature avec SendMail

rjcb

XLDnaute Occasionnel
Bonsoir,

j'arrive bien à envoyer un Email avec SendMail mais impossible de joindre la signature:

Code:
Sub EMAIL()

With Dest
Dim appOutlook As Outlook.Application
Dim message As Outlook.MailItem
Dim myRecipient As Object
End With

SigString = "S:\Clients\C\Assistante Service Client\SUIVI de PROD\Signature.htm"

'Crée une session Microsoft Outlook
Set appOutlook = CreateObject("outlook.application")

'Crée un nouveau message
Set message = appOutlook.CreateItem(olMailItem)

'Check the signature path
If Dir(SigString) <> "" Then
    Signature = Get_Signature(SigString)
Else
    Signature = ""
End If

With message
.Subject = "SUIVI de PRODUCTION S" & NOSEM(Date)
.body = "Bonjour,"  & Signature
 

.Recipients.Add Sheets("Mode OP").Range("H3").Value
'.CC Add("Mode OP").Range(H3).Select

.attachments.Add "S:\C\CA_Atlantica\Assistante Service Client\SUIVI de PROD\Suivi HEBDO\SUIVI PROD Sem " & NOSEM(Date) & ".xls"
.Send
End With


With Application
.ScreenUpdating = True
.EnableEvents = True
End With

End Sub

 Function Get_Signature(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)
    Get_Signature = ts.ReadAll
    ts.Close
End Function

La signature s'affiche en code HTML :/ j'ai essayé avec le fichier RTF, mais pareil.

J'ai vu qu'il fallait décocher "use MO word to edit Email messages" dans outlook mais cela ne change rien.

Merci a vous.
 
G

Guest

Guest
Re : Insérer Signature avec SendMail

Bonjour,

Juste avant d'insérer la signature essaie de mettre:
Code:
With message
.Subject = "SUIVI de PRODUCTION S" & NOSEM(Date)
.BodyFormat = olFormatHTML
.body = "Bonjour,"  & Signature
A+
 

James007

XLDnaute Barbatruc
Re : Insérer Signature avec SendMail

Bonjour,

Pour extraire la signature :

VB:
Private Function GetBoiler(ByVal sFile As String) As String
' Fonction pour extraire la signature HTML
    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

Du coup, dans ton code, tu dois appeler la signature :

Signature = GetBoiler(SignatureString)

avec SignatureString comme étant ton fichier ...

A +
:)
 

James007

XLDnaute Barbatruc
Re : Insérer Signature avec SendMail

Re,

Désolé ... je n'avais pas lu ton premier message ...

Je te confirme que ce code fonctionne parfaitement bien ... à la condition de ne pas oublier dans VBE de bien référencer : Microsoft Scripting RunTime

A +
:)
 

rjcb

XLDnaute Occasionnel
Re : Insérer Signature avec SendMail

James, Merci pour l'info, j'avais oublié le "Microsoft Scripting RunTime"

Par contre toujours le meme souci, il m'affiche le code HTML dansla signature....
Pour le chemin du fichier, j'ai bien indiqué le fichier .html

Si QQ1 à une idée...
 

James007

XLDnaute Barbatruc
Re : Insérer Signature avec SendMail

Re,

Tu dis que le chemin du fichier est le bon, j'espère que le fichier a bien l'extension correcte .htm et non .html ... comme tu l'indiques ...

Pour en avoir le coeur net, il te faut également vérifier que ton fichier signature n'est pas corrompu ...

A +
:)
 

rjcb

XLDnaute Occasionnel
Re : Insérer Signature avec SendMail

alors en fait tout est en .htm.

Il voit bien mon fichier puisque dans la signature j'ai:

<HTML><HEAD><TITLE>JC Signature</TITLE>
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
<META content="MSHTML 6.00.6000.21294" name=GENERATOR></HEAD>
<BODY>
TEST SIGN<BODY></HTML>
 

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16