【发布时间】:2023-02-21 02:10:55
【问题描述】:
我可以通过 Access 命令按钮发送电子邮件。但是,显示的电子邮件地址不正确。
Private Sub cmdSendEmail_Click()
Dim EmailApp, NameSpace, EmailSend As Object
Set EmailApp = CreateObject("Outlook.Application")
Set NameSpace = EmailApp.GetNamespace("MAPI")
Set EmailSend = EmailApp.CreateItem(0)
EmailSend.To = [emailadd] '[emailadd] is the field on the form where the button is located
EmailSend.Subject = [Forms]![WorkordersVR]![Project] & " - " & [Forms]![WorkordersVR]![JobNumber]
EmailSend.Body = "Hello," & vbCrLf & vbCrLf & _
"The project" & " " & [Forms]![WorkordersVR]![Project] & " " & "is ready for pickup." & vbCrLf & vbCrLf & _
"Thank you!" & vbCrLf & vbCrLf & _
"Person sending email here" & vbCrLf & _
EmailSend.Display
Set EmailApp = Nothing
Set NameSpace = Nothing
Set EmailSend = Nothing
End Sub
在显示的电子邮件收件人中最终出现的是:
“fred@aplace.com#fred@aplace.com#”
我如何获得 fred@aplace.com?
【问题讨论】:
-
电子邮件作为 Access 超链接结构保存在字段中。为什么要这样保存?照原样,必须使用字符串操作函数来提取左侧部分直到第一个 # 字符。
-
谢谢你!我想到了。 Brain 甚至没有考虑提取/修剪电子邮件地址行。我用过:EmailSend.To = Left([emailadd], InStr([emailadd], "#") - 1)
标签: vba email ms-access outlook