以下是一个通过VBA发送多封带有.j
pg
图片在正文中,并附带表格的电子邮件的示例代码:
Sub SendEmailWithImageAndTable()
Dim OutApp As Object
Dim OutMail As Object
Dim SigString As String
Dim Signature As String
Dim rng As Range
Dim ws As Worksheet
Dim imgPath As String
Dim imgName As String
' 设置Outlook应用程序对象
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
' 设置电子邮件的主题
OutMail.Subject = "这是带有图片和表格的邮件"
' 设置电子邮件的收件人
OutMail.To = "recipient@example.com"
' 设置电子邮件的发件人
OutMail.SentOnBehalfOfName = "sender@example.com"
' 设置电子邮件的正文
Set ws = ThisWorkbook.Sheets("Sheet1")
Set rng = ws.Range("A1:D5")
' 将表格复制为HTML格式
rng.Copy
rng.Worksheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:=False
' 获取图片路径和名称
imgPath = "C:\path\to\image.jpg"
imgName = "image.jpg"
' 在电子邮件正文中插入图片
With OutMail
.HTMLBody = "<html><body>"
.HTMLBody = .HTMLBody & "这是一封带有图片和表格的电子邮件:<br>"
.HTMLBody = .HTMLBody & "<table>"
.HTMLBody = .HTMLBody & rng.PasteSpecial(Format:="HTML", Link:=False, DisplayAsIcon:=False)
.HTMLBody = .HTMLBody & "</table>"
.HTMLBody = .HTMLBody & "<img src='" & imgName & "'><br>"
.HTMLBody = .HTMLBody & "</body></html>"
End With
' 将图片附件添加到电子邮件
OutMail.Attachments.Add imgPath
' 显示电子邮件
OutMail.Display
' 清除剪贴板中的内容
Application.CutCopyMode = False
' 释放Outlook对象
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
请将代码中的收件人、发件人、表格范围、图片路径等信息替换为实际值。此代码将在Outlook应用程序中创建一封新电子邮件,带有带有.jpg图片的正文和表格,并将该电子邮件显示给用户。你可以根据需要修改电子邮件的主题、正文和其他属性。