【发布时间】:2016-02-28 07:59:57
【问题描述】:
我需要将两张纸的内容复制到 Outlook 邮件正文中。
- 工作表 1 仅包含带有一些合并单元格的文本。
- Sheet2 包含图表。
我失败的方法:
将 sheet1 和 sheet2 中的内容复制到临时表中,然后 然后将完整内容从临时表复制到邮件正文。
这种方法会弄乱一次完全对齐 内容被粘贴到 Outlook 邮件正文中,即使它在临时表中看起来不错。
下面是我使用的代码sn-p。
Sub copy_graph()
Dim outlookapp, outmail, worddoc As Object
Set outlookapp = CreateObject("outlook.application")
Set outmail = outlookapp.createitem(olmailitem)
outmail.display
Set worddoc = outmail.getinspector.wordeditor
ThisWorkbook.Sheets.Add.Name = "temp_mail"
ThisWorkbook.Worksheets("Tu_Mail").Range("a4:b18").Copy
ThisWorkbook.Worksheets("temp_mail").Range("a1").Select
ActiveSheet.Paste
ThisWorkbook.Worksheets("trend").Range("a1:x93").Copy
ThisWorkbook.Worksheets("temp_mail").Range("a19").Select
ActiveSheet.Paste
ThisWorkbook.Worksheets("temp_mail").Range("a1:x93").Copy
worddoc.Range.PasteExcelTable linkedtoexcel:=False, wordformatting:=False, RTF:=False
Application.DisplayAlerts = False
ThisWorkbook.Worksheets("temp_mail").Delete
End Sub
有没有办法将两张纸上的内容一张一张地粘贴到邮件正文中,而不是将它们合并到一张纸中。即粘贴为两个不同的表,以便列对齐保持不变。
或者
还有其他更好的方法吗?
【问题讨论】:
-
查看这个非常方便的RangeToHTML 函数。每当我想将 Excel 范围粘贴到电子邮件正文中时,我都会使用它。
-
谢谢斯科特。我试过了,
RangeToHTML是我在网络上的大多数答案中看到的常见功能。但在我的情况下它失败了,它不会复制图表。 -
您可以将图表复制为图片,然后将其粘贴到电子邮件正文中吗?
-
我将其保留为最后一个选项,因为保存图片会降低图表的质量,从而破坏我的电子邮件的整洁度。