Comment attribuer plusieurs zone de liste de valeurs à une variable et de les placer dans votre Email champ “À”,
-
21-12-2019 - |
Question
Je suis en train de être capable de sélectionner plusieurs valeurs dans les deux zones de liste et attribuer à deux variables distinctes.Je veux, puis de prendre ces variables contenant des sélections et de générer un e-mail avec le contenu de variable de peupler le champ "À" dans un e-mail outlook.Droit maintenant, je reçois une Erreur d'Exécution 94 - Valide Utilisation de Null.
Merci à tous pour votre aide!
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
La solution
Considère que qui votre les listes contiennent des adresses e-mail valides, je propose de
- définir
ListBox1.MultiSelect = fmMultiSelectMulti
- sélectionner plusieurs adresses mail en utilisant Ctrl-Cliquez sur
- concaténer toutes les adresses sélectionnées à partir de la zone de liste en une seule chaîne de caractères, par exemple
_
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
- répétez l'opération pour la 2ème zone de liste ...
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow