Macro envío mails

12/08/2005 - 17:49 por lbenaventea | Informe spam
Repasé las preguntas y respuestas del foro, las ayudas y los sitios donde
explican cómo enviar mails pero no encontré respuestas a lo más simple: una
macro para el envío de mails con texto, archivo adjunto, con copia, con copia
oculta y con acuse de recibo (es decir, lo más clásico aunque masivo):
1) Muchos "clientes" y cada cliente con 1, 2 ó 3 casillas distintas (que
irán en «Para»);
2) Cada envío con un archivo Excel adjunto (todos distintos);
3) Para cada destinatario, un texto idéntico en el cuerpo del mensaje;
4) Cada mensaje con una "copia abierta" y una "copia oculta" (a la misma
casilla en cada caso);
5) Tdos los mensajes con acuse de recepción.
Les agradece,
LB

Preguntas similare

Leer las respuestas

#6 Héctor Miguel
17/08/2005 - 02:34 | Informe spam
hola, Luis !

... estudiar la pagina de Ron... no me ha servido
... siempre aparece algun error de sintaxis que no logro resolver para hacer mis envios por Outlook Express
... circunstancias que parece tan facil completar algo que contenga:
To = ""
CC = ""
BCC = ""
From = """Luis Benavente A."" "
Subject = "Envio antecedentes"
TextBody = "Ruego revisar los antecedentes adjuntos. Atentamente, Depto. Juridico."
AddAttachment "D:\documentos\Estudios.xls"
Send
... si tienen la solucion, se lo agradezco de antemano



1) Outlook Express... [huummm!!!]
el [unico] 'problema' que le veo a tus intenciones... es la 'insistencia' por usar [solamente] Outlook Express :-((
puesto que NO 'expone' su modelo de objetos... es muy dificil 'trabajarlo' desde codigos por vba :-\
podrias 'ahondar' en el tema si te das una vuelta por las siguientes conversaciones: http://tinyurl.com/dceay

-> [cambie mi servidor de correos de Office Outlook -> a -> Outlook Express] y...
'lo mas' que he podido lograr con Outlook Express [de acuerdo con los puntos que solicitas]...
es 'aplicarlos' todos ellos [To, CC, BCC, Subject,...] EXCEPTO... el 'From' Y... el 'Attachment' =>NO desde vba<= :-((
[ademas]... para el 'Send' se 'truquea' usando el metodo 'SendKeys' [probablemente seria igual para el adjunto] -?-

2) el modelo de objetos de Outlook [NO el Express]... SI es totalmente 'compatible' con procedimientos vba :))

3) CDO ['Collaboration Data Objects']... de la pagina de Ron... el ejemplo que te pongo al final me ha funcionado perfectamente
usando TODOS los requisitos que planteas... ->To/CC/BCC/From/Subject/Body/Attachment/Send<- ;)
NO 'aprovecha' el programa/servidor de correos que tengas instalado sino una conexion 'directa' a internet
el ejemplo es una 'adaptacion' de su pagina: http://www.rondebruin.nl/cdo.htm#Workbook
dentro de los errores que pude 'detectar'...
a) no tener una cuenta de correos 'dada de alta' en Outlook Express :-\
[se requiere de los servidores de conexion de tu proveedor de internet pop3 / smtp] <= OJO
b) usar una direccion 'NO reconocida' por tu proveedor de servicios de internet...
[p.e. ->From = """Luis Benavente A."" "<-]

4) otra alternativa seria si te decides y 'aprovechas' [alg]uno de sus complementos en: http://www.rondebruin.nl/mail/add-in.htm

bueno... haz alguas pruebas y... comentas?
saludos,
hector.

1) usando [o tratando de usar] Outlook Express... [ya sabes 'hasta donde llega' su control por vba] :))
REQUIERE hacer una llamada a las API's de windows...
en un modulo de codigo normal ==Private Declare Function Ejecuta Lib "Shell32.dll" Alias "ShellExecuteA" ( _
ByVal Ventana As Long, ByVal Operacion As String, ByVal Archivo As String, _
ByVal Parametros As String, ByVal Directorio As String, ByVal Mostrar As Long) As Long
Sub Enviar_Correo()
Dim Para As String, Copia As String, Oculta As String, _
Asunto As String, Texto As String, Adjunto As String, _
Opciones As String, Instrucciones As String
Para = ""
Copia = ""
Oculta = ""
Asunto = "Este es el asunto..."
Texto = "Este es el cuerpo del mensaje"
Adjunto = "C:\Ruta y\sub-Carpetas al\Archivo.XYZ"
If Para = "" Then Exit Sub Else Para = "MailTo:" & Para
If Copia <> "" Then Opciones = "&CC=" & Copia
If Oculta <> "" Then Opciones = Opciones & "&BCC=" & Oculta
If Asunto <> "" Then Opciones = Opciones & "&Subject=" & Asunto
If Adjunto <> "" Then Opciones = Opciones & "&Attachment=" & vbCr & Adjunto & vbCr
If Texto <> "" Then Opciones = Opciones & "&Body=" & Texto
If Opciones <> "" Then Mid(Opciones, 1, 1) = "?"
Instrucciones = Para & Opciones
Ejecuta 0&, vbNullString, Instrucciones, vbNullString, vbNullString, 1
End Sub

2) usando CDO [no le duele -casi- nada] :))
las lineas 'comentadas' son por si... hiciera falta 'configurar' el CDO [a falta de configuracion en OE]
en un modulo de codigo normal ==Private Sub Enviar_Archivos_CDO()
Dim Configura As Object ', Campos
Application.ScreenUpdating = False
Set Configura = CreateObject("CDO.Configuration")
' Configura.Load -1 ' restablece la configuracion por omision '
' Set Campos = Configura.Fields
' With Campos
' .Item("http://schemas.microsoft.com/cdo/co...sing") = 2
' .Item("http://schemas.microsoft.com/cdo/co...rver") = "aqui.tu.ISP.REAL"
' .Item("http://schemas.microsoft.com/cdo/co...port") = 25
' .Update
' End With
With CreateObject("CDO.Message")
Set .Configuration = Configura
.To = ""
.CC = ""
.BCC = ""
.From = """Alguien"" "
.Subject = "Este es el asunto..."
.TextBody = "Este es el cuerpo del mensaje"
.AddAttachment "C:\Ruta y\sub-Carpetas al\Archivo.XYZ"
.Send
End With
Set Configura = Nothing
' Set Campos = Nothing
End Sub
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida