VBA将Excel范围转换成图片并发送到Outlook,将文本写入正文

我想复制一个范围从受保护的Excel工作表,并将其粘贴到Outlook作为图片,写一些文本,并显示它。

我的代码首先粘贴文本,然后是图片,但同时删除文本。 但我希望两者,文本和文本下的图片(范围转换成Excel中的图片)。

任何人都可以帮助我如何得到它?

Sub Send_Email() Dim r As Range Set r = Range("NR7:OD39") Dim outlookApp As Outlook.Application Set outlookApp = CreateObject("Outlook.Application") Dim OutMail As Outlook.MailItem Set OutMail = outlookApp.CreateItem(olMailItem) Dim StrFileName As String Application.DisplayAlerts = False Application.ScreenUpdating = False Sheets("table1").Select ActiveSheet.Unprotect Password:="blabla" ActiveSheet.Outline.ShowLevels RowLevels:=8, ColumnLevels:=8 r.Select r.Copy OutMail.Display Dim Email As Word.Document Set Email = OutMail.GetInspector.WordEditor With OutMail .To = "Name.surname@amazon.com" .CC = "Surname.Name@amazon.com" .Subject = "Subject" .Body = "Hi everybody," & vbNewLine & "actual Status" .Display End With Email.Range.PasteAndFormat wdChartPicture ActiveSheet.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1 ActiveSheet.Protect Password:="blabla" End Sub 

从这一行开始

 Set Email = OutMail.GetInspector.WordEditor 

这应该做到这一点:

 Dim ran as Word.Range Set Email = OutMail.GetInspector.WordEditor With OutMail .To = "Name.surname@amazon.com" .cc = "Surname.Name@amazon.com" .Subject = "Subject" .Body = "Hi everybody," & vbNewLine & "actual Status" .Display End With Email.Range.InsertAfter vbCrLf Set ran = Email.Range(Email.Content.End - 1, Email.Content.End - 1) ran.PasteAndFormat wdChartPicture