通过VBA将EXCEL中的表格保留原格式赋值到outlook邮件正文中
时间: 2023-12-22 12:05:28 浏览: 1442
可以使用以下 VBA 代码将 Excel 中的表格复制到 Outlook 邮件正文中并保留原格式:
```
Sub SendEmail()
Dim OutlookApp As Object
Dim OutlookMail As Object
Dim ExcelSheet As Object
Dim TempFilePath As String
Dim TempFileName As String
'创建 Outlook 应用程序对象
Set OutlookApp = CreateObject("Outlook.Application")
'创建邮件对象
Set OutlookMail = OutlookApp.CreateItem(0)
'创建 Excel 对象
Set ExcelSheet = CreateObject("Excel.Application")
'打开 Excel 文件
ExcelSheet.Workbooks.Open "Excel文件路径"
'将 Excel 中的表格复制到 Word 中
ExcelSheet.ActiveSheet.Range("A1:C10").Copy
'将表格粘贴到 Word 文档中
OutlookMail.GetInspector.WordEditor.Range.PasteExcelTable False, False, False
'设置邮件信息
With OutlookMail
.To = "收件人邮箱地址"
.CC = "抄送人邮箱地址"
.Subject = "邮件主题"
.BodyFormat = 2 'HTML 格式
.Display '显示邮件窗口
End With
'关闭 Excel 文件
ExcelSheet.ActiveWorkbook.Close
'释放对象
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Set ExcelSheet = Nothing
End Sub
```
需要将代码中的以下内容替换为实际内容:
- Excel 文件路径:需要复制表格的 Excel 文件路径。
- A1:C10:需要复制的表格范围。
- 收件人邮箱地址:邮件的收件人邮箱地址。
- 抄送人邮箱地址:邮件的抄送人邮箱地址。
- 邮件主题:邮件的主题。
执行代码后,会打开一个新的 Outlook 邮件窗口,并将 Excel 中指定范围的表格复制到邮件正文中,并保留原格式。您可以在邮件中添加其他内容并发送。
阅读全文