Excel - Error en el .To

   
Vista:

Error en el .To

Publicado por Stevenson (13 intervenciones) el 14/05/2015 05:55:56
Cordial saludo
Tengo un código que funciona bien siempre y cuando sólo tenga una fecha que coincida con la del sistema, si tengo mas de una fecha que coincida con la del sistema no funciona (resalta error en el .to=correo) pues la macro sólo envía un correo y debería de enviar tantos correos como coincidencias encuentre a los destinatarios que correspondan
según la columna B

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Sub Mandar_Correo2()
Dim OutApp As Object
Dim OutMail As Object
Dim correo As String
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
fila = 2
Do While Not IsEmpty(Cells(fila, "A"))
If Cells(fila, "A") = Date Then
correo = Cells(fila, "B").Value
With OutMail
.To = correo
.CC = ""
.BCC = ""
.Subject = "RTA: Transferencia de Conocimiento"
.Body = "Cordial Saludo" + vbCrLf + "Hoy se cumplen 15 días luego de su participación en " & Cells(fila, "D").Value & " y aún no se ha cumplido con el compromiso de transferencia de conocimiento, por lo cual esperamos que nos aporte información al respecto" + vbCrLf + "Quedamos atentos"
.send
End With
End If
fila = fila + 1
Loop
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End Sub

Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Error en el .To

Publicado por Juanjo (494 intervenciones) el 14/05/2015 09:09:15
Muy buenas.

Supongo que es una cuestión de tiempos. Está intentando mandar un segundo correo, cuando todavía no ha mandado el primero. Asigna y vacía las variables cada vez que envías un correo (dentro del If ... End If) y así funciona. Quedaría así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Sub Mandar_Correo2()
 Dim OutApp As Object
 Dim OutMail As Object
 Dim correo As String
 fila = 2
 Do While Not IsEmpty(Cells(fila, "A"))
 If Cells(fila, "A") = Date Then
 Set OutApp = CreateObject("Outlook.Application")
 Set OutMail = OutApp.CreateItem(0)
 correo = Cells(fila, "B").Value
 With OutMail
 .To = correo
 .CC = ""
 .BCC = ""
 .Subject = "RTA: Transferencia de Conocimiento"
 .Body = "Cordial Saludo" + vbCrLf + "Hoy se cumplen 15 días luego de su participación en " & Cells(fila, "D").Value & " y aún no se ha cumplido con el compromiso de transferencia de conocimiento, por lo cual esperamos que nos aporte información al respecto" + vbCrLf + "Quedamos atentos"
 .send
 End With
 Set OutMail = Nothing
 Set OutApp = Nothing
 End If
 fila = fila + 1
 Loop
 On Error GoTo 0
 End Sub

Un saludo. Juanjo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Error en el .To

Publicado por Stevenson (13 intervenciones) el 14/05/2015 16:51:27
Cordial saludo,
Excelente respuesta, muchas gracias por éste gran aporte

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar