hola, Charles !
" Se ha producido el error 2147220960 (8004022) en tiempo de ejecucion"
No es valido el valor de configuracion "SendUsing" [...]
[hasta donde se]... 'basicamente'... los errores '800xxxx' o '-2147xxxx'... significan que...
-> ocurrio una llamada a un 'proveedor/servidor/objeto/...' que NO estaba 'disponible/visible/...' [al menos en 'ese' momento]
[probablemente] sera necesario 'dejar que el codigo se encargue' de la configuracion de CDO
por si las dudas, prueba nuevamente el codigo [quitando las marcas de comentario] ;)
solo 'asegurate' que las variables que estoy 'inventando' sean la que tu necesitas 'realmente' como...
=> "aqui.tu.ISP.REAL" [los parametros que usa tu cliente de correos como SMTP o correo saliente]
=> "***@dominio.1" | "***@dominio.2" | "***@dominio.3"
=> """Alguien"" <***@y.dominios.REALES>"
=> "C:\Ruta y\sub-Carpetas al\Archivo.XYZ"
si cualquier duda... comentas?
saludos,
hector.
=====
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 = "***@dominio.1"
.CC = "***@dominio.2"
.BCC = "***@dominio.3"
.From = """Alguien"" <***@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