Insertion Signature

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Répondre
E
Erhan
Nouveau venu
Nouveau venu
Messages : 1
Inscrit le : 4 décembre 2019
Version d'Excel : 2013

Message par Erhan » 4 décembre 2019, 16:04

Bonjour,

Je souhaite générer un mail avec du texte, une image (au centre) et ma signature (à la fin).

J'utilise le code ci-dessous :
Sub createMailWithSignature()

Dim objMsg As Object
Dim OutMail As Object
Dim wb As Workbook
Dim wDoc As Object
Set wb = ActiveWorkbook

Set objMsg = CreateObject("Outlook.Application")
Set OutMail = objMsg.CreateItem(olMailItem)
Set wDoc = OutMail.GetInspector.WordEditor

    With OutMail
        .Display
        .To = "xxx@xxx.com"
        .CC = "xxx@xxx.com"
        .Subject = "SUJET"

        wb.Sheets(1).Range("A2:J9").CopyPicture
        Set Rng = wDoc.Content

        Rng.Application.Selection.Paste

        If Not (Rng Is Nothing) Then
        Rng.InsertBefore ("Bonjour" & vbCr & vbCr & "blablabla" & vbCr & vbCr)
        Rng.InsertAfter (vbCr & vbCr & "blablabla" & vbCr & vbCr & "Cordialement," & vbCr)
        End If
        
    End With
    Set Rng = Nothing
    InsertSignature OutMail, "RT"
    Application.CutCopyMode = False

End Sub
Et la fonction suivante :
Sub InsertSignature(OutMail As Object, SignatureName As String)

    Dim wd As Object, obSelection As Object
    Dim enviro, strSigFilePath
    Const wdStory = 6
    Const wdParagraph = 4
    Const wdGoToBookmark = -1
    Const wdExtend = 0
    Const wdSortByName = 0
    enviro = CStr(Environ("appdata"))
    strSigFilePath = enviro & "\Microsoft\Signatures\"
 
 
    Set wd = OutMail.GetInspector.WordEditor
    Set obSelection = wd.Application.Selection
    obSelection.Move wdStory, -1
 
    obSelection.Move wdParagraph, 1
    obSelection.Paragraphs.Add
    obSelection.Move wdParagraph, 1
 
    Dim oBookmark
    Set oBookmark = obSelection.Bookmarks.Add("_Sig", obSelection.Range)
 
    If Dir(strSigFilePath & SignatureName & ".htm", vbNormal) <> "" Then
        obSelection.InsertFile Filename:=strSigFilePath & SignatureName & ".htm", Range:="", ConfirmConversions:= _
                               False, Link:=False, Attachment:=False
 
        obSelection.GoTo What:=wdGoToBookmark, Name:="_Sig"
 
        obSelection.EndKey Unit:=wdStory, Extend:=wdExtend
        With wd.Bookmarks
            .Add Range:=obSelection.Range, Name:="_MailAutoSig"
            .DefaultSorting = wdSortByName
            .ShowHidden = False
        End With
 
        obSelection.Move wdStory, -1
    End If
End Sub
Le code fonctionne mais le soucis c'est qu'il insère la signature après le "Bonjour" au lieu de mettre à la fin

Avez-vous une solution ?

Merci
Avatar du membre
Baboutz
Membre fidèle
Membre fidèle
Messages : 412
Appréciations reçues : 32
Inscrit le : 19 avril 2019
Version d'Excel : 2016 FR

Message par Baboutz » 4 décembre 2019, 20:30

Salut Erhan,

Un simple Call InsertSignature ne fonctionne pas ?

Sinon, regarde ici, une autre manière de mettre une signature :wink:

Bonne soirée,

Baboutz
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 15'041
Appréciations reçues : 890
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR
Téléchargements : Mes applications

Message par Steelson » 5 décembre 2019, 03:59

Bonjour Erhan, bonjour Baboutz

Pour insérer ma signature, je faisais très simplement :
With OutMail
	.htmlbody = "Bla bla " & .htmlbody
	' ... le reste des options
	.display
end with

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message