Ayuda con código vba
Publicado por Alberto (13 intervenciones) el 04/02/2019 19:42:56
Buenas a todos!!
Estoy intentando crear una macro en un formulario pero algo ando perdido y ruego si alguien pudiera revisarmelo.
La idea es: Sobre una consulta que se realiza "llamada Envio primera reclamacion" quiero que se realice el envío de un mail a cada uno de los mails de la lista.
El problema me viene porque es para reclamar unos documentos, cada correo va a solicitar una documentación diferente, dependiendo de unos checkbox que tienen que marcar previamente al registrarlo en la tabla, de forma que dependiendo de lo marcado va a añadir una linea más al mail u otra, quedando el resto del mail igual.
Este es el código:
Option Compare Database
Private Sub Enviar_Email_Envio_Primera_Reclamacion(Usuario, NUMERO_DE_CONTRATO, Oficina, CLIENTE, FECHA_1_RECLAMACION, Contrato, ccm, seguro, garantia_recompra, ENVIO_RENT_and_TECH)
On Error GoTo Err_CORREO_Click
Dim dbs As Database, qdf As QueryDef, consulta As String
Dim cuerpo As String, para As String, cc As String, asunto As String
Dim comentario As String
Dim Contrato As String
Dim ccm As String
Dim garantia_recompra As String
Dim seguro As String
asunto = "PRIMERA RECLAMACIÓN DE DOCUMENTACIÓN ORIGINAL"
texto = "Buenos días," & _
(Chr(10)) + (Chr(10)) + "Desde el departamento de Archivo de no hemos recibido documentación contractual asociada al siguiente contrato:" & _
If Contrato is True Then (Chr(10)) + (Chr(10)) + "Necesitamos copia del contrato" & _
If ccm is True Then (Chr(10)) + (Chr(10)) + "Necesitamos copia del ccm" & _
If garantia_recompra is True Then (Chr(10)) + (Chr(10)) + "Necesitamos copia del la garantia" & _
If seguro is True Then (Chr(10)) + (Chr(10)) + "Necesitamos copia del seguro" & _
(Chr(10)) + (Chr(10)) + "Con el fin de poder llevar a cabo su correcto tratamiento necesitamos...:" & _
(Chr(10)) + (Chr(10)) + "Nos remitan los documentos de XXXX." & _
(Chr(10)) + (Chr(10)) + (Chr(10)) + "Gracias, " & _
(Chr(10)) + (Chr(10)) + (Chr(10)) + "Un saludo, " & _
(Chr(10)) + (Chr(10)) + (Chr(10)) + "Productos" & _
(Chr(10)) + "Departamento de reclamaciones." 'MsgBox texto
If IsNull(Usuario) Then
MsgBox "No existe Email de Usuario para la operación: " + BANCO + "-" + Oficina + "-" + CONTR + "-" + FOLIO
GoTo Exit_CORREO_Click::
End If
Set miCorreo = CreateObject("CDO.Message")
With miCorreo
'.from = "mail de correo" & "< >"
.from = "mail de correo & "<mail de correo>"
'.from = "mail de correo"
.To = Usuario
.Bcc = "mail de correo"
.replyto = "mail de correo"
.Subject = asunto
.TextBody = texto
.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _
"smt"
.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Configuration.Fields.Update
'.display
.Send
End With
Set miCorreo = Nothing
Exit_CORREO_Click:
Exit Sub
Err_CORREO_Click:
MsgBox Err.Description
Resume Exit_CORREO_Click
End Sub
Agradecería enormemente si alguien puede echarme un cable con esto. He omitido los mails por simple LOPD, donde estoy atragantado es en los checkbox y añadir la linea al correo dependiendo de si están marcados o no.
Cuando lo intento me da el error "se esperaba expresión". Seguro que es lo mas tonto del mundo pero entre que estoy aprendiendo solo y que se me está haciendo eterno...
Muchisimas gracias de antemano!!
Un saludo.
Estoy intentando crear una macro en un formulario pero algo ando perdido y ruego si alguien pudiera revisarmelo.
La idea es: Sobre una consulta que se realiza "llamada Envio primera reclamacion" quiero que se realice el envío de un mail a cada uno de los mails de la lista.
El problema me viene porque es para reclamar unos documentos, cada correo va a solicitar una documentación diferente, dependiendo de unos checkbox que tienen que marcar previamente al registrarlo en la tabla, de forma que dependiendo de lo marcado va a añadir una linea más al mail u otra, quedando el resto del mail igual.
Este es el código:
Option Compare Database
Private Sub Enviar_Email_Envio_Primera_Reclamacion(Usuario, NUMERO_DE_CONTRATO, Oficina, CLIENTE, FECHA_1_RECLAMACION, Contrato, ccm, seguro, garantia_recompra, ENVIO_RENT_and_TECH)
On Error GoTo Err_CORREO_Click
Dim dbs As Database, qdf As QueryDef, consulta As String
Dim cuerpo As String, para As String, cc As String, asunto As String
Dim comentario As String
Dim Contrato As String
Dim ccm As String
Dim garantia_recompra As String
Dim seguro As String
asunto = "PRIMERA RECLAMACIÓN DE DOCUMENTACIÓN ORIGINAL"
texto = "Buenos días," & _
(Chr(10)) + (Chr(10)) + "Desde el departamento de Archivo de no hemos recibido documentación contractual asociada al siguiente contrato:" & _
If Contrato is True Then (Chr(10)) + (Chr(10)) + "Necesitamos copia del contrato" & _
If ccm is True Then (Chr(10)) + (Chr(10)) + "Necesitamos copia del ccm" & _
If garantia_recompra is True Then (Chr(10)) + (Chr(10)) + "Necesitamos copia del la garantia" & _
If seguro is True Then (Chr(10)) + (Chr(10)) + "Necesitamos copia del seguro" & _
(Chr(10)) + (Chr(10)) + "Con el fin de poder llevar a cabo su correcto tratamiento necesitamos...:" & _
(Chr(10)) + (Chr(10)) + "Nos remitan los documentos de XXXX." & _
(Chr(10)) + (Chr(10)) + (Chr(10)) + "Gracias, " & _
(Chr(10)) + (Chr(10)) + (Chr(10)) + "Un saludo, " & _
(Chr(10)) + (Chr(10)) + (Chr(10)) + "Productos" & _
(Chr(10)) + "Departamento de reclamaciones." 'MsgBox texto
If IsNull(Usuario) Then
MsgBox "No existe Email de Usuario para la operación: " + BANCO + "-" + Oficina + "-" + CONTR + "-" + FOLIO
GoTo Exit_CORREO_Click::
End If
Set miCorreo = CreateObject("CDO.Message")
With miCorreo
'.from = "mail de correo" & "< >"
.from = "mail de correo & "<mail de correo>"
'.from = "mail de correo"
.To = Usuario
.Bcc = "mail de correo"
.replyto = "mail de correo"
.Subject = asunto
.TextBody = texto
.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _
"smt"
.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Configuration.Fields.Update
'.display
.Send
End With
Set miCorreo = Nothing
Exit_CORREO_Click:
Exit Sub
Err_CORREO_Click:
MsgBox Err.Description
Resume Exit_CORREO_Click
End Sub
Agradecería enormemente si alguien puede echarme un cable con esto. He omitido los mails por simple LOPD, donde estoy atragantado es en los checkbox y añadir la linea al correo dependiendo de si están marcados o no.
Cuando lo intento me da el error "se esperaba expresión". Seguro que es lo mas tonto del mundo pero entre que estoy aprendiendo solo y que se me está haciendo eterno...
Muchisimas gracias de antemano!!
Un saludo.
Valora esta pregunta


0