将Excel图表复制到Outlook邮件消息

我在列A中有电子邮件地址,在同一张表中有一个图表对象。

对于每个电子邮件地址,我想在Outlook中创build一个新邮件并将Excel图表粘贴到电子邮件正文中。

我的尝试(下面)的问题是,图表不会被粘贴到邮件正文中。 我该如何解决?

这我的代码:

Sub smail() Dim r As Integer Dim o As Outlook.Application Dim m As Outlook.MailItem Set o = New Outlook.Application r = 1 Do While Cells(r, 1) <> "" Set m = o.CreateItem(olMailItem) m.To = Cells(r, 1) m.CC = "xyz@anc.com" m.BCC = "abc@xyz.com" m.Subject = "Test" ActiveChart.ChartArea.Copy Set wEditor = o.ActiveInspector.WordEditor 'm.Body = Paste wEditor.Application.Selection.Paste m.Send r = r + 1 Set m = Nothing Loop End Sub 

我觉得这一行的问题

 wEditor.Application.Selection.Paste 

是什么都没有select,即.Selection返回Nothing ,只要消息不可见。 要解决这个问题,请在粘贴前将其显示出来:

 m.Display 

这对我有效。

另外,你应该总是使用Dim声明所有的variables,包括wEditor

 Dim wEditor As Word.Document