【发布时间】:2020-06-29 02:26:48
【问题描述】:
我正在尝试在 Excel 中单击按钮时创建自定义电子邮件。所有用户都有 Outlook。在电子邮件的正文中,我想包含已经格式化的电子表格的一部分。
我可以在其中获取信息,但无法在正文中正确获取订单。那是文本,然后是格式化的表格 THEN 签名。
下面的示例将格式化表放在下面,但我希望签名是最后一件事。
任何帮助将不胜感激。
Sub SendUpdateEmail()
Dim outlook As Object
Dim newEmail As Object
Dim xInspect As Object
Dim pageEditor As Object
Dim EmailTo As String
Dim EmailCC As String
Dim UpdateDate As String
Dim Location As String
Dim strSig As String
' Set Outlook object
Set outlook = CreateObject("Outlook.Application")
' Set Email Mail Object
Set newEmail = outlook.CreateItem(0)
' Set Inspect Object
Set xInspect = newEmail.GetInspector
' Set Page Editor Object
Set pageEditor = xInspect.WordEditor
' Set Email To
EmailTo = Worksheets("Project Summary").Cells(15, "F").Value
' Set Email CC
EmailCC = Worksheets("Project Summary").Cells(16, "F").Value
' Set Update date
UpdateDate = Worksheets("OUTPUT - Daily Field Ticket").Cells(7, "B").Value
' Set Location
Location = Worksheets("OUTPUT - Daily Field Ticket").Cells(5, "B").Value
With newEmail
.To = EmailTo
.CC = EmailCC
.BCC = ""
.Subject = "UPDATE | " + Location + " | " + UpdateDate
'DO NOT REMOVE - THIS MUST BE VISIBLE FIRST TO GET THE DEFAULT SIGNATURE
.Display
'GET THE HTML CODE FROM THE SIGNATURE
strSig = .HTMLBody
.HTMLBody = "Hello," & "<br>" & "<br>" & "Please see attached the Daily Field Ticket for " + Location
+ " for " + UpdateDate + "." + strSig
Sheet1.Range("A28:F35").Copy
pageEditor.Application.Selection.Start = Len(.Body)
pageEditor.Application.Selection.End = pageEditor.Application.Selection.Start
pageEditor.Application.Selection.PasteAndFormat (wdFormatPlainText)
Set pageEditor = Nothing
Set xInspect = Nothing
End With
Set newEmail = Nothing
Set outlook = Nothing
End Sub
【问题讨论】: