从Excel 2016到Outlook 2016的复制粘贴范围如图所示

我正尝试使用VBA将Excel范围粘贴到Outlook电子邮件正文中。 但是,每当我这样做,粘贴操作的范围被切断。 原始的范围如下所示:

原始范围

粘贴出现如下:

粘贴的图像

我基本上使用了Jean-FrançoisCorbett的VBA代码, 将Excel的范围粘贴到电子邮件中作为照片 。 即:

Dim objOutlook As Object Dim objMail As Object Set objOutlook = CreateObject(Class:="Outlook.Application") Set objMail = objOutlook.CreateItem(0) 'Copy range of interest Dim r As Range Set r = Range("B2:E14") r.Copy 'Paste as picture in sheet and cut immediately Dim p As Picture Set p = ActiveSheet.Pictures.Paste p.Cut 'Get its Word editor objMail.Display Dim wordDoc As Word.Document Set wordDoc = objMail.GetInspector.WordEditor 'Paste picture wordDoc.Range.Paste 

我知道还有其他的代码样本可以粘贴为HTML(例如, Ron de Bruin ),但是最后我把它粘贴成了一张桌子(而不是图片)。 我也看到了一些例子,他们将图表粘贴到图表中,将图表保存为JPG格式,然后将该JPG格式插入到电子邮件的HTMLBody中(例如Mike Marshall ),但这样也会被切断。

感谢人们可以分享的任何见解!