> Repase las preguntas y respuestas del foro, las ayudas y los sitios donde explican como enviar mails
> pero no encontre respuestas a lo mas simple:
> una macro para el envio de mails con texto, archivo adjunto, con copia, con copia oculta y con acuse de recibo
> (es decir, lo mas clasico aunque masivo):
> 1) Muchos "clientes" y cada cliente con 1, 2 o 3 casillas distintas (que iran en Para);
> 2) Cada envio con un archivo Excel adjunto (todos distintos);
> 3) Para cada destinatario, un texto identico en el cuerpo del mensaje;
> 4) Cada mensaje con una "copia abierta" y una "copia oculta" (a la misma casilla en cada caso);
> 5) Todos los mensajes con acuse de recepcion.
-> ciertamente que lo que solicitas/necesitas puede considerarse como 'lo mas simple y clasico'...
[siempre y cuando lo ejecutes desde la misma interfase grafica de tu programa de correos electronicos] :)
-> para estar 'en condiciones' de hacer 'lo mismo' pero... por codigo...
[hasta donde se] la mejor alternativa es utlizar 'servidores' que tengan soporte para vba [como outlook]
-> [en tanto comentas mayores detalles]...
te sugiero visitar la pagina de Ron de Bruin [especificamente la seccion de 'envios'] <-
http://www.rondebruin.nl/sendmail.htm
donde podras 'navegar' para conocer otras opciones como:
- CDO [sin mensajes de advertencia] no 'requiere' de un servidor de correo 'instalado' o...
- Outlook-Express [amigable aunque con poco 'soporte' para trabajarlo en vba] o...
- Outlook [de office] que resulta mucho mas 'amigable'
incluso... puedes 'descargar' un complemento para tus envios 'directos' desde excel en:
http://www.rondebruin.nl/mail/add-in.htm
saludos,
hector.
"Héctor Miguel" escribió:
Creo que esta pagina de la web de Ron de Bruin contesta todas tus preguntas:
http://www.rondebruin.nl/cdo.htm#Tips
Saludos,
KL
"lbenaventea" <lbena...@discussions.microsoft.com> wrote in message
news:84B25BA9-5FD4-4E94...@microsoft.com...
> Repase las preguntas y respuestas del foro, las ayudas y los sitios donde
> explican como enviar mails pero no encontre respuestas a lo mas simple:
> una
> macro para el envio de mails con texto, archivo adjunto, con copia, con
> copia
> oculta y con acuse de recibo (es decir, lo mas clasico aunque masivo):
> 1) Muchos "clientes" y cada cliente con 1, 2 o 3 casillas distintas (que
> iran en <Para>);
> 2) Cada envio con un archivo Excel adjunto (todos distintos);
> 3) Para cada destinatario, un texto identico 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 recepcion.
> Les agradece,
> LB
>
> ... la pagina de de Bruin no me dio la respuesta.
> ... uso Outlook Express y supongo que habra una manera de indicar lo que pido:
> destinatario, copia simple, copia oculta, acuse de recibo y texto. Y no debe ser muy dificl:
> con sendmail logro bastante pero no todo...
> ... a ver si alguien me da respuestas excatas.
'tengo que'... 'insistirte'... en que repases las alternativas que te ofrece la pagina de Ron :))
-> [concretamente] con la alternativa CDO 'no importa' si tienes OE... OL... o cualquiera otro
-> lo que pides [destinatario, copia simple, copia oculta, acuse de recibo y texto] esta 'cubierto' ahi ;)
-> si 'persistes' en hacerlo por OE... ['simple y llanamente']... OE no tiene 'soporte' para 'todo eso' :-(
-> si no encuentras [exctamente] lo que necesitas -> 'desde' la pagina de Ron ... [no se donde podras] :)
saludos,
hector.
To = "ful...@xx.com.cl"
CC = "zut...@zz.com"
BCC = "pere...@ww.com"
From = """Luis Benavente A."" <lbena...@hotmail.com>"
Subject = "Envío antecedentes"
TextBody = "Ruego revisar los antecedentes adjuntos. Atentamente,
Depto. Jurídico."
AddAttachment "D:\documentos\Estudios.xls"
Send
En fin, si tienen la solución, se lo agradezco de antemano,
Luis B.
"Héctor Miguel" escribió:
> hola, Luis B !
> ... 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 = "ful...@xx.com.cl"
> CC = "zut...@zz.com"
> BCC = "pere...@ww.com"
> From = """Luis Benavente A."" <lbena...@hotmail.com>"
> 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."" <lbena...@hotmail.com>"<-]
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 = "cuenta_1@dominio.1"
Copia = "cuenta_2@dominio.2"
Oculta = "cuenta_3@dominio.3"
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/configuration/sendusing") = 2
' .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "aqui.tu.ISP.REAL"
' .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
' .Update
' End With
With CreateObject("CDO.Message")
Set .Configuration = Configura
.To = "cuenta_1@dominio.1"
.CC = "cuenta_2@dominio.2"
.BCC = "cuenta_3@dominio.3"
.From = """Alguien"" <tu_c...@y.dominios.REALES>"
.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