Enviar email con condiciones do while

Tengo el siguiente código, pero cuando envía el email correctamente no escribe Enviado y la fecha cuando ha sido enviado, os pego el código

Do
   If Sheets("EMAIL").Cells(fila, 1) = "" Or Sheets("email").Cells(fila, 1) = "No Enviado" Then
        Set OM = OA.createitem(olmailitem)
        para = Sheets("EMAIL").Cells(fila, 2)
        dptoemail = Sheets("EMAIL").Cells(fila, 3)
        empleadoemail = Sheets("EMAIL").Cells(fila, 4)
        doc = Sheets("EMAIL").Cells(fila, 5)
        With OM
            .To = para 'Destinatarios
            .CC = Sheets("CONFIGEMAIL").Range("C4").Value 'Con copia
            .Subject = "DETALLE HORAS MES DE" & Chr(32) & mesemail & Chr(32) & dptoemail & Chr(32) & empleadoemail '"Asunto"
            .Attachments.Add doc
            .Display  'El correo se muestra
        End With
Errores:
    Select Case Err.Number
        Case Is = 0
            Sheets("EMAIL").Cells(fila, 1) = "Enviado" & Chr(32) & Now
            fila = fila + 1
        Case Else
            Sheets("EMAIL").Cells(fila, 1) = "No Enviado"
            fila = fila + 1
    End Select
    Else
        fila = fila + 1
    End If
Set OM = Nothing
Loop While fila <= ufila
Set OA = Nothing

1 Respuesta

Respuesta
1

.22/11/16

Buenas tardes, Juan

Cierto, parecería todo correcto.

Yo probaría con reemplazar la línea

Case Is = 0

con la siguiente:

Case 0

Alternativamente, me parece más práctico usar un simple condicional inmediato.

Es decir que, en lugar de estas sentencias

    Select Case Err.Number
        Case Is = 0
            Sheets("EMAIL").Cells(fila, 1) = "Enviado" & Chr(32) & Now
            fila = fila + 1
        Case Else
            Sheets("EMAIL").Cells(fila, 1) = "No Enviado"
            fila = fila + 1
    End Select

Usaría esta:

Sheets("EMAIL").Cells(fila, 1) = IIf(Err.Number, "No Enviado", "Enviado" & Chr(32) & Now)
fila = fila + 1
Err. Clear

Entiendo que cualquiera de las dos soluciones andaría (aunque prefiero la segunda, que es más eficiente).

Coméntame si es lo que buscabas -y, en tal caso, agradeceré que califiques mi contribución- o escribeme de nuevo aquí, si necesitas más apoyo con esto.

Un abrazo

Fernando

(Buenos Aires, Argentina)

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas