如何使用VBA将一系列单元格从Excel复制到Outlook中的电子邮件正文(而不是将Excel文件作为附件添加)。我只需要将内容作为Outlook邮件的主体。任何人都可以帮助我使用宏编写这个代码吗?从Excel中将单元格的范围复制到Outlook中的电子邮件正文
0
A
回答
2
你可以在这里找到一个打包的解决方案:http://www.rondebruin.nl/mail/folder1/mail4.htm
Sub Mail_Range()
'Working in 2000-2010
Dim Source As Range
Dim Dest As Workbook
Dim wb As Workbook
Dim TempFilePath As String
Dim TempFileName As String
Dim FileExtStr As String
Dim FileFormatNum As Long
Dim I As Long
Set Source = Nothing
On Error Resume Next
Set Source = Range("A1:K50").SpecialCells(xlCellTypeVisible)
On Error GoTo 0
If Source Is Nothing Then
MsgBox "The source is not a range or the sheet is protected, " & _
"please correct and try again.", vbOKOnly
Exit Sub
End If
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
Set wb = ActiveWorkbook
Set Dest = Workbooks.Add(xlWBATWorksheet)
Source.Copy
With Dest.Sheets(1)
.Cells(1).PasteSpecial Paste:=8
.Cells(1).PasteSpecial Paste:=xlPasteValues
.Cells(1).PasteSpecial Paste:=xlPasteFormats
.Cells(1).Select
Application.CutCopyMode = False
End With
TempFilePath = Environ$("temp") & "\"
TempFileName = "Range of " & wb.Name & " " _
& Format(Now, "dd-mmm-yy h-mm-ss")
If Val(Application.Version) < 12 Then
'You use Excel 2000-2003
FileExtStr = ".xls": FileFormatNum = -4143
Else
'You use Excel 2007-2010
FileExtStr = ".xlsx": FileFormatNum = 51
End If
With Dest
.SaveAs TempFilePath & TempFileName & FileExtStr, _
FileFormat:=FileFormatNum
On Error Resume Next
For I = 1 To 3
.SendMail "[email protected]", _
"This is the Subject line"
If Err.Number = 0 Then Exit For
Next I
On Error GoTo 0
.Close SaveChanges:=False
End With
'Delete the file you have send
Kill TempFilePath & TempFileName & FileExtStr
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub
问候,
1
见here如果它可以帮助你。
我正在寻找解决方案,将多个Excel 2007单元格复制/粘贴到带有VBA的Outlook邮件正文中,但既没有直接复制/粘贴,MsgBody.HTMLBody = Range.Text
也没有剪贴板(通过DataObject)工作。 然后,我觉得这个以前的解决方案,它解决了我的问题,希望这也能帮助你:)
干杯!
相关问题
- 1. 使用VB.NET将Excel范围(表格)复制到Outlook电子邮件正文
- 2. 将表格从Outlook电子邮件复制到Excel文件 - VBA
- 3. VBA - 从工作表复制单元格到Outlook电子邮件
- 4. 在电子邮件HTML正文中复制范围
- 5. 使用VBA将Outlook电子邮件中的富文本表复制到Excel?
- 6. 使用VBA将电子邮件从Outlook导出到Excel电子表格中
- 7. 如何将一个单元格或一个单元格范围从一个Excel电子表格复制到另一个VS 2008的Excel电子表格VB
- 8. 从一个电子表格中的范围复制单元格到另一个电子表格
- 9. 从电子邮件复制到excel
- 10. 从Excel发送Outlook电子邮件将最后一行范围文本放在正文消息中
- 11. Excel vba复制电子邮件正文中的某些文本
- 12. HTML电子邮件中表格单元格的Outlook折叠
- 13. 从Google电子表格复制范围/单元格值的脚本 - 粘贴到Excel中
- 14. outlook电子邮件的身体不复制到excel
- 15. 从Outlook电子邮件提取文本到Excel - 检查格式
- 16. 使用VBA将电子邮件中的表复制到Excel中
- 17. 将多个范围的值添加到电子邮件正文
- 18. 复制Excel单元格的格式到范围很慢
- 19. Excel电邮范围此按钮复制
- 20. 从Excel中的单元格获取电子邮件地址
- 21. 如何添加Excel范围为图片到Outlook邮件正文
- 22. 来自Outlook的电子邮件与主题中的Excel单元格值
- 23. Outlook VBA将电子邮件从子文件夹导入Excel
- 24. 如果一个单元格的值为1,则将电子邮件地址添加到Outlook电子邮件中
- 25. 使用VBA将两个范围复制到Excel电子邮件中的Outlook电子邮件(大部分代码已经完成)
- 26. 如何使用格式将Excel工作表复制到电子邮件正文?
- 27. 将签名插入到Excel VBA的Outlook电子邮件中
- 28. 将电子邮件中的特定文本复制到电子表格
- 29. Excel VBA电子邮件单元格值
- 30. Excel的VBA - 从电子邮件复制逗号分隔句子单独的Excel单元格
这回答了这个问题:http://stackoverflow.com/questions/29092999/pasting-an-excel-range-into-an-email-as-a-picture – 2015-03-17 08:11:42