将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