【问题标题】:Auto-populating To,CC,BCC fields in Outlook using VBA使用 VBA 在 Outlook 中自动填充收件人、抄送、密件抄送字段
【发布时间】:2015-07-07 23:48:51
【问题描述】:

我正在尝试根据单元格“A”中一个单元格中的条件从“B”列中的列表中填充电子邮件分发列表

私人子 Outlook_Email()

Dim olApp As Object
Dim olMail As Object
Dim cell As Range
Dim emailTo As String
Dim emailCC As String
Dim emailBCC As String

On Error Resume Next
Set olApp = GetObject(, "Outlook.Application")
If olApp Is Nothing Then
    Set olApp = CreateObject("Outlook.Application")
End If
On Error GoTo 0

emailTo = "To"
emailCC = "CC"
emailBCC = "BCC"

For Each cell In Range("B2:B100")
    If cell.Offset(-1, 0) = "To" Then emailTo = emailTo & cell.Value & ", "
    ElseIf cell.Offset(-1, 0) = "CC" Then emailCC = emailCC & cell.Value & ", "
    Else cell.Offset(-1, 0) = "BCC" Then emailBCC = emailBCC & cell.Value & ", "
    End If
Next

Set olMail = olApp.CreateItem(0)

With olMail
    .To = emailTo
    .cc = emailCC
    .bcc = emailBCC
    .Display
End With

结束子


我得到的错误信息是:编译错误,否则循环中的 CC 行没有 If。

感谢您的帮助!

【问题讨论】:

    标签: excel vba outlook


    【解决方案1】:

    字符串的构造看起来有点畸形。尝试更接近此的方法。

    emailTo = vbNullString
    emailCC = vbNullString
    emailBCC = vbNullString
    
    For Each cell In Range("B2:B100")
        Select Case LCase(cell.Offset(-1, 0).Value)
            Case "to"
                emailTo = emailTo & cell.Value & "; "
            Case "bcc"
                emailBCC = emailBCC & cell.Value & "; "
            Case "cc"
                emailCC = emailCC & cell.Value & "; "
            Case Else
                'do nothing
        End Select
    Next
    

    注意用作电子邮件地址分隔符的分号。

    【讨论】:

      【解决方案2】:

      If 写在一行上的语句被视为关闭的 if 块:

      If cell.Offset(-1, 0) = "To" Then emailTo = emailTo & cell.Value & ", "
      

      如果你想用 Elses 扩展那个 If 块,你需要换行:

      If cell.Offset(-1, 0) = "To" Then 
         emailTo = emailTo & cell.Value & ", "
      Else...
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-12-27
        • 2018-07-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-15
        • 2015-05-08
        相关资源
        最近更新 更多