我试图能够在两个列表框中选择多个值,并分配给两个单独的变量。然后我想拍摄包含选择的那些变量,并在Outlook电子邮件中使用变量内容填充“to”字段的可变内容。现在我正在收到一个运行时错误94 - 无效使用null。

谢谢你的所有帮助!

Dim EAddress, MAddress As String

Public Sub UserForm_Initialize()

Emailfrm.EmpEmaillb.RowSource = "Searched_Employee_Email"
Emailfrm.ManagerEmaillb.RowSource = "Searched_Manager_Email"

End Sub

Public Sub Email_Click()
Dim OLobjMsg, NewMsg As Object

    EAddress = Emailfrm.EmpEmaillb.Value
    MAddress = Emailfrm.ManagerEmaillb.Value

    Set objMsg = CreateObject("Outlook.Application")
    objMsg.Session.Logon
    Set NewMsg = objMsg.CreateItem(0)

    With NewMsg
        .To = EAddress & MAddress
        .Subject = "BT Employee Database Inquiry Email"
        '.Body = "Have a great weekend!"
    End With

    Unload Me

    NewMsg.Display
End Sub
.

有帮助吗?

解决方案

asuming您的列表框包含有效的电子邮件地址,我建议

  • 定义ListBox1.MultiSelect = fmMultiSelectMulti
  • 使用Ctrl-Click
  • 选择多个邮件地址
  • 将所有选定的地址从列表框连接到一个字符串,例如,例如。

_

Private Sub CommandButton1_Click()
Dim LBCnt As Integer, AllAddr As String

    AllAddr = ""

    For LBCnt = 0 To ListBox1.ListCount - 1

        If ListBox1.Selected(LBCnt) Then
            If AllAddr = "" Then
                AllAddr = ListBox1.List(LBCnt)
            Else
                AllAddr = AllAddr & ";" & ListBox1.List(LBCnt)
            End If
        End If
    Next LBCnt
    Debug.Print AllAddr

End Sub
.

  • 重复第二个列表框...
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top