【问题标题】:How to update email 'To' field with email address from a field in Access form?如何使用 Access 表单字段中的电子邮件地址更新电子邮件“收件人”字段?
【发布时间】: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


【解决方案1】:

您可以使用 VBA 中可用的字符串函数来获取子字符串,直到字符串中的 # 符号。例如,InStr 函数返回一个数字,指定一个字符串在另一个字符串中第一次出现的位置。

我还建议使用 MailItem 类的 Recipients 属性,它返回一个 Recipients 集合,代表 Outlook 项目的所有收件人。然后我建议使用 Recipient.Resolve 方法尝试根据地址簿解析 Recipient 对象。

例如:

Sub CreateStatusReportToBoss() 
 Dim myItem As Outlook.MailItem
 Dim myRecipient As Outlook.Recipient 
 
 Set myItem = Application.CreateItem(olMailItem) 
 Set myRecipient = myItem.Recipients.Add("email") 
 
 myRecipient.Resolve

 If(myRecipient.Resolved) Then  
   myItem.Subject = "Status Report" 
   myItem.Display 
 End If

End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-14
    • 2012-09-20
    • 1970-01-01
    • 2019-04-30
    • 2011-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多