Enviar un correo desde VBA a clientes seleccionados en un listbox
Tengo un listbox con la propiedad multiselect, lo que quiero es poder enviar un correo electronico a las personas seleccionadas del listbox.
Los correos de dichas personas se encuentran en la columna 5
1 Respuesta

Para enviar correos se requiere de la siguiente información:
1. ¿Tus datos están en un archivo de excel?
2. ¿El correo es por outlook?
3. ¿Qué se les va a enviar a cada persona?
4. ¿Qué va en el asunto del correo?
5. ¿Qué va en el cuerpo del correo?
6. ¿Cómo cargaste los datos al listbox?

Dante como estas,
Si me permites tu correo podria adjuntarte el proyecto en el que estoy trabajando.
1. Tus datos están en un archivo de excel?
R// Si, estan en un archivo de excel
2. El correo es por outlook?
R// Si, el correo se va a enviar por Outlook
3. Qué se les va a enviar a cada persona?
R// La idea es personalizar el mensaje de lo que se les va a enviar puesto que el correo varia constantemente.
bdy = "<p style='font-family:calibri;font-size:16'>" & "Hi<br><br>Could you please assist me with the following quotation?<br>FROM:<br>TO:<br>COMMODIDY:<br>CLASS:<br>N.PIECES:<br>DIMENSIONS:<br>Total Weight:<br> <br><br> THANKS!<br><br><br>Saludos/Regards, <br><br>Nombre<br>Cargo<br>Logistics Freight Solutions <br>Phone: 305 909 7870 ext: <br> E -mail: <br> web: www.lfs -inc.com" & "</p><img src='C:\Users\USER\Desktop\Jhony\Imagenes\FirmaLogo.PNG'>"
'Now add it into body
.HTMLBody = bdy
Esto es un ejemplo de lo que podria enviar programandolo con HTML
4. Qué va en el asunto del correo?
R// El asunto del correo es variable por lo tanto lo podriamos dejar en blanco.
.Subject = ""
5. Qué va en el cuerpo del correo?
R// El cuerpo del correo permanecera en blanco por que varia constantemente.
.Body = ""
6. Cómo cargaste los datos al listbox?
R// Private Sub UserForm_Initialize()
Range("A1").Select
ComboBox2.Value = "Zona"
TextBox2.Value = "*"
TextBox2.SetFocus
With Me
.ListBox2.ColumnCount = 5
.ListBox2.ColumnWidths = "70 pt;180 pt;180 pt;120 pt;180 pt"
.ComboBox2.List = Application.Transpose(ActiveCell.CurrentRegion.Resize(1).Value)
.ComboBox2.ListStyle = fmListStyleOption
End With
ListBox1.MultiSelect = 2
End Sub

Envíame tu archivo con un ejemplo de cómo quieres el correo.
No veo cómo se cargó el listbox.
Dime cómo ejecuto el formulario, qué datos pongo y en qué momento quieres que se envíe el correo.
Mi correo [email protected]
En el asunto del correo escribe tu nombre de usuario “Jhonatan Gonzalez” y el título de esta pregunta.

Te anexo el código para que pongas 2 botones en tu formulario. Un botón para enviar los correos del listbox "Destino" y otro botón para los correos del listbox "Origen".
Private Sub CommandButton2_Click() 'Por.Dante Amor 'Enviar correo destino If ListBox2.ListCount = 0 Then MsgBox "No hay correos a enviar" Exit Sub End If ' For i = 0 To ListBox2.ListCount - 1 para = ListBox2.List(i, 4) correo para Next End Sub ' Private Sub CommandButton3_Click() 'Por.Dante Amor 'Enviar correo Origen If ListBox1.ListCount = 0 Then MsgBox "No hay correos a enviar" Exit Sub End If ' For i = 0 To ListBox1.ListCount - 1 para = ListBox1.List(i, 4) correo para Next End Sub ' Sub correo(para) 'Por.Dante Amor nombre = "Jhonatan González Ricaurte" cargo = "Pricing specialist" ext = "238" e_mail = "[email protected]" ' bdy = "<p style='font-family:calibri;font-size:16'>" & _ "Hi<br>" & _ "<br>Could you please assist me with the following quotation?" & _ "<br>FROM:" & _ "<br>TO:" & _ "<br>COMMODIDY:" & _ "<br>CLASS:" & _ "<br>N.PIECES:" & _ "<br>DIMENSIONS:" & _ "<br>Total Weight:<br> <br>" & _ "<br>THANKS!<br><br>" & _ "<br>Saludos/Regards, <br>" & _ "<br>" & nombre & _ "<br>" & cargo & _ "<br>Logistics Freight Solutions " & _ "<br>Phone: 305 909 7870 ext: " & ext & _ "<br>E-mail: " & e_mail & _ "<br>web: www.lfs -inc.com" & _ "</p><img src='C:\Users\USER\Desktop\Jhony\Imagenes\FirmaLogo.PNG'>" ' Set dam = CreateObject("outlook.application").createitem(0) With dam .To = para .Subject = "" .BodyFormat = 2 .HTMLBody = bdy .Display End With Set dam = Nothing End Sub
Saludos.Dante Amor
Recuerda valorar la respuesta.

Perdon Dante,
Si quisiera que automaticamente se envie el correo por si solo, que codigo deberia agregar?

¿Pero en qué momento quieres que se envíe? Cuando abres el archivo, cuando abres el formulario, ¿cuándo presionas un checkbox?
Crea una nueva pregunta y me explicas en qué momento quieres el envío.
- Compartir respuesta
