【发布时间】:2017-03-14 13:42:37
【问题描述】:
我想从受保护的 Excel 工作表中复制一个范围并将其作为图片粘贴到 Outlook 中。
我的代码是先粘贴文本然后是图片,但同时删除文本。
如何将图片粘贴到文字下方。
Sub Send_Email()
Dim r As Range
Set r = Range("NR7:OD39")
Dim outlookApp As Outlook.Application
Set outlookApp = CreateObject("Outlook.Application")
Dim OutMail As Outlook.MailItem
Set OutMail = outlookApp.CreateItem(olMailItem)
Dim StrFileName As String
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Sheets("table1").Select
ActiveSheet.Unprotect Password:="blabla"
ActiveSheet.Outline.ShowLevels RowLevels:=8, ColumnLevels:=8
r.Select
r.Copy
OutMail.Display
Dim Email As Word.Document
Set Email = OutMail.GetInspector.WordEditor
With OutMail
.To = "Name.surname@amazon.com"
.CC = "Surname.Name@amazon.com"
.Subject = "Subject"
.Body = "Hi everybody," & vbNewLine & "actual Status"
.Display
End With
Email.Range.PasteAndFormat wdChartPicture
ActiveSheet.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1
ActiveSheet.Protect Password:="blabla"
End Sub
【问题讨论】:
-
不是 Outlook 用户,也不是在我的计算机上,而是
Email.Range.PasteAndFormat wdChartPicture使图片成为主体。因此,您可能需要将文字和图片添加到电子邮件中,然后将电子邮件设置为正文。现在不能更精确,但我希望这会有所帮助。
标签: excel image vba outlook range