【问题标题】:VBA auto-email with multiple reciepients具有多个收件人的 VBA 自动电子邮件
【发布时间】:2014-08-05 02:12:21
【问题描述】:

我很难让我的.To = emails 识别此代码中的多个电子邮件地址。 我正在尝试使用SELECT 函数来获取电子邮件地址列表WHERE Active(是/否复选框)是真的。然后尝试将此列表插入.To = <list of multiple email addresses>。我想避免将此自动电子邮件与 Outlook 一起使用,并获取将发送到的电子邮件地址列表,并将其存储在表格中以便于管理,这样就无需进入代码来调整地址。我会以错误的方式解决这个问题吗?

<code above here>

Dim dbs As Database, emails As Recordset

Set dbs = CurrentDb

Set emails = dbs.OpenRecordset "SELECT EmailAddy FROM EmailTbl WHERE Active = -1;")

emails.MoveLast

With iMsg
    .Configuration = iCfg
    .To = emails
    .CC = ""

<code below here>

【问题讨论】:

    标签: vba email ms-access-2010


    【解决方案1】:

    属性iMsg.To 可能接受分隔的电子邮件地址字符串,就像DoCmd.SendObject() 命令一样。下面是一个示例,说明如何将这样的字符串组合在一起。

    ' Update this constant to a comma, pipe, etc. as needed
    Const EMAIL_DELIMITER As String = ";"
    ' Stores the delimited list of emails
    Dim emailList As String
    With CurrentDb
        With .OpenRecordset "SELECT EmailAddy FROM EmailTbl WHERE Active = -1;")
            Do While Not .EOF
                ' This IsNull check is not necessary if EmailAddy is never null
                If Not IsNull(!EmailAddy) Then 
                    emailList = emailList & !EmailAddy & EMAIL_DELIMITER 
                End If
                .MoveNext
            Loop
            .Close
        End With
    End With    
    ' Lob off the trailing delimiter
    If Len(emailList) Then emailList = Left(emailList, Len(emailList) - Len(EMAIL_DELIMITER))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-26
      • 1970-01-01
      • 1970-01-01
      • 2016-02-08
      • 1970-01-01
      • 2012-10-12
      • 2018-04-16
      相关资源
      最近更新 更多