2016-11-17 1 views
0

Je suis nouveau à codage vba et j'ai des problèmes avec ma macro. J'essaye de copier une gamme dans Excel comme image au courrier de perspectives et ajoutez le texte dans le corps aussi bien. Cependant, mon code ajoute le texte et colle l'image dessus. Comment puis-je l'obtenir pour coller sous le texte?Vba image Excel colle sur le texte dans Outlook mail

Voici mon code:

Dim OutApp As Object 
Dim outMail As Object 
Dim myFileList(1) As String 
Dim i As Long 

Set OutApp = CreateObject("Outlook.Application") 
Set outMail = OutApp.CreateItem(0) 

Set RngCopied = Worksheets("Daily volume summary").Range("VolumeRange") 

myFileList(0) = "Y:xyz\sales.pdf" 
myFileList(1) = "Y:xyz\sales.xlsx" 


'On Error Resume Next 
With outMail 
    .To = "[email protected]" 
    .CC = "[email protected]" 
    .BCC = "" 
    .Subject = "PBC Daily Sales " & Format(Date, "mm/dd/yyyy") 
    .Body = "Good morning," & vbNewLine & vbNewLine & "Attach is the Daily Sales report for " & Format(Date, "dddd,mmmm,dd,YYYY") & "." & "<br>" 

'Copy range of interest 

Dim r As Range 

Set r = Worksheets("Daily volume summary").Range("VolumeRange") 
r.Copy 

'Get its Word editor 
outMail.Display 
Dim wordDoc As Word.Document 
Set wordDoc = outMail.GetInspector.WordEditor 


'To paste as picture 
wordDoc.Range.PasteAndFormat wdChartPicture 
Dim shp As Object 
    For Each shp In wordDoc.InlineShapes 
    shp.ScaleHeight = 60 
    shp.ScaleWidth = 60 
    Next 

    For i = 0 To UBound(myFileList) 
    .Attachments.Add myFileList(i) 
    Next 

    .Send 
End With 
On Error GoTo 0 

Set outMail = Nothing 
Set OutApp = Nothing 
End Sub 

Répondre

1

Dans la ligne:

wordDoc.Range.PasteAndFormat wdChartPicture 

vous remplacez la gamme de mot doc du message avec votre image. Au lieu de cela, vous devez noter où dans la gamme que vous voulez coller cela. Cela devrait le mettre après votre texte:

wordDoc.Range(start:=wordDoc.Range.End - 2).PasteAndFormat wdChartPicture 
+0

Cela fonctionne! Je vous remercie –