如何将多个listbox值分配给一个变量,并将那些电子邮件“到”字段中
-
21-12-2019 - |
题
我试图能够在两个列表框中选择多个值,并分配给两个单独的变量。然后我想拍摄包含选择的那些变量,并在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
.
- 重复第二个列表框...
不隶属于 StackOverflow