我试图在Excel 2016中,在Outlook 2016中发送一封电子邮件,邮件正文中有一个表格。
我研究过堆栈溢出以及其他网站。我发现HTML部分令人困惑。
下面是我写的发送电子邮件的代码。代码正常,但我需要替换
.HTMLBody = "Hello World"
有一张桌子。
Sub Send_mail()
Dim outlookApp As Outlook.Application
Dim outlookMail As Outlook.MailItem
Set outlookApp = New Outlook.Application
Set outlookMail = outlookApp.CreateItem(olMailItem)
With outlookMail
.To = "recipient@mail.com"
.CC = ""
.BCC = ""
.Subject = "TEST123"
.BodyFormat = olFormatHTML
.HTMLBody = "Hello World"
.Send
End With
Set outlookMail = Nothing
Set outlookApp = Nothing
End Sub
要插入电子邮件正文的表格由A、B、C和D列组成。
数据总是从第2行开始,但包含最后一个数据的行需要是动态的。
该表总是相当小-最多20行。
我想以下可能会起作用?
定位最后填充的行,然后循环遍历2和最后填充的行之间的每一行,并将其转换为HTML格式并将其存储为字符串。然后将这些字符串连接成最后一个字符串,放入电子邮件正文中。
我已经看过了Ron de Bruin的指南,但我希望在不必创建临时文件或使用非Microsoft工具的情况下实现这一点。宏将有多个来自专业公司的用户,并且需要防弹。我担心,如果公司的共享文件夹结构发生变化,保存和删除临时文件可能会导致可怕的错误。