Cómo asignar varios valores de ListBox a una variable y colocarlos en el campo de correo electrónico "a"
-
21-12-2019 - |
Pregunta
Estoy tratando de poder seleccionar varios valores en dos cuadros de lista y asignar a dos variables separadas.Luego, quiero tomar esas variables que contienen las selecciones y generan un correo electrónico con los contenidos de la variable que rellenan el campo "a" en un correo electrónico de Outlook.En este momento, estoy recibiendo un error de tiempo de ejecución 94 - Uso inválido de NULL.
¡Gracias por toda su ayuda!
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
Solución
Asuming que sus cuadros de lista contienen direcciones de correo electrónico válidas, propongo
- define
ListBox1.MultiSelect = fmMultiSelectMulti
- Seleccione varias direcciones de correo utilizando CTRL-CLICK
- Concatenar todas las direcciones seleccionadas del cuadro de lista a una sola cadena, por ejemplo,
_
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
- Repita para el segundo cuadro de lista ...
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow