Automatizar envío de e-mails con un excel

07/04/2005 - 11:21 por Carolina Arroyo | Informe spam
Hola,
Tengo una pequeña duda. Tengo una hoja de excel con dos columnas, a cada
celda de la primera columna quiero asociar una dirección de correo a la que
envíe el valor correspondiente a la celda de la segunda columna. Es
importante que pueda hacerlo de forma lo más automática posible puesto que
tengo unos 5000 correos que enviar.
Hay alguna forma de hacer esto??
Gracias.
 

Leer las respuestas

#1 Carolina Arroyo
07/04/2005 - 12:27 | Informe spam
Gracias,
Intentaré hacer pruebas a ver que sale

"KL" escribió:

Hola Carolina,

Revisa este enlace: http://www.rondebruin.nl/sendmail.htm

Si usas MS Outlook, podrias probar el siguiente codigo de Ron de Bruin ligeramente modificado. Para usar el codigo tendras q hacer lo siguiente:

1) Pulsa Alt+F11 para ir al Editor VBA
2) Ve al menu Herramientas>Referencias en la barra de menus3) Pon una marca delante de "Microsoft Outlook ? Object Library" (Libreria de Objetos de Microsoft Outlook)
donde ? es el numero de la verion de Excel4) Copia el codigo de abajo en cualquier modulo del proyecto VBA de tu archivo *.xls5) Dentro del codigo cambia el nombre de la hoja si es necesario de Hoja1 al nombre real6) Dentro del codigo modifica el texto las siguientes lines segun tus necesidades: .Subject = "Prueba" ..Body = cell.Offset(0, 1).Value7 Pulsa Alt+F11 para volver a la hoja8) Pulsa Alt+F8 y haz doble clic sobre "TestFile"Ojo - al realizar el paso 8 empezaran a enviarse los mensajes, asi que yo haria pruebas con solo un par de direcciones en la primera etapa.Tambien es probable que te salte el mensaje de seguridad de Outlook cada vez que se quiera enviar un mensaje. Si esto representa un problema importante, entonces considera las siguientes opciones:http://www.rondebruin.nl/mail/prevent.htmhttp://www.rondebruin.nl/cdo.htmSaludos,KL

'-Inicio Codigo
Sub TestFile()
Dim OutApp As Outlook.Application
Dim OutMail As Outlook.MailItem
Dim cell As Range
Application.ScreenUpdating = False
Set OutApp = CreateObject("Outlook.Application")
On Error GoTo cleanup
For Each cell In Sheets("Hoja1").Columns("A").Cells _
.SpecialCells(xlCellTypeConstants)
If cell.Value Like "?*@?*.?*" Then
Set OutMail = OutApp.CreateItem(olMailItem)
With OutMail
.To = cell.Value
.Subject = "Prueba"
.Body = cell.Offset(0, 1).Value
.Send 'Or use Display
End With
Set OutMail = Nothing
End If
Next cell
cleanup:
Set OutApp = Nothing
Application.ScreenUpdating = True
End Sub
'-Fin Codigo

Preguntas similares