从MS Access窗体自动填充Outlook电子邮件



我有一个名为ClientListtbl的表和一个名为主ClientListfrm的表单。表单上有一个点击按钮,可以自动生成一封电子邮件。请参阅下面的代码

Private Sub Command20_Click()
Dim LastName As Variant
Dim Email As Variant
Dim Notes As Variant
Dim Insurer As Variant
Dim Premium As Variant
Dim RenewalDate As Date
Dim objOutlook As Object
Dim objEmail As Object
LastName = Forms("ClientListfrm").LastName
Email = Forms("ClientListfrm").EmailAddress
Notes = Forms("ClientListfrm").Notes
Insurer = Forms("ClientListfrm").Insurer
Premium = Forms("ClientListfrm").Premium
Set objOutlook = CreateObject("Outlook.Application")
Set objEmail = objOutlook.CreateItem(0)
With objEmail
.To = Email
.Subject = "transfer " & LastName & " from James"
.HTMLBody = Insurer & _
Premium & _
RenewalDate & _
Notes
.Send
End With
Set objEmail = Nothing
Set objOutlook = Nothing
End Sub

我希望电子邮件不要自动发送,这样用户可以在发送前对其进行审查,但我似乎不知道如何更改。

在HTMLBody中,我希望每个字段都有一行新行,但我看到并尝试过的所有示例都不起作用。

HTMLBody中的RenewalDate在电子邮件中显示为20000:00:00,而不是表单上显示的日期。

提前感谢您所能提供的任何帮助。

使用.Display而不是.Send

如果你想发送HTML,你需要构建HTML。例如

.HTMLBody = "<p>" & Insurer & "</p>" & _
"<p>" & Premium & "</p>"

等等。或者使用vbCrLf分隔符构建字符串,然后对结果使用HtmlEncode()

您没有在代码中设置RenewalDate。如有必要,请使用Format()功能。

最新更新