将Excel图表复制到Outlook邮件

时间:2014-09-01 10:34:59

标签: excel vba excel-vba outlook

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

对于每个电子邮件地址,我想在Outlook中创建一个新邮件,并将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

1 个答案:

答案 0 :(得分:0)

我认为这行的问题

wEditor.Application.Selection.Paste

是没有选择任何内容,即.Selection返回Nothing,只要消息不可见即可。要解决此问题,请在粘贴前将其显示:

m.Display

这对我有用。

此外,您应该始终使用Dim声明所有变量,包括wEditor

Dim wEditor As Word.Document