从 MS Access 表单自动填充 Outlook 电子邮件
Auto populating Outlook email from MS Access Form
我有一个名为 ClientListtbl 的 table 和一个名为 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()
函数。
我有一个名为 ClientListtbl 的 table 和一个名为 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()
函数。