Enviar correo con archivos adjuntos comprmidos
Tengo una macro que envía correos electrónicos adjuntando un archivo pdf y un xml en cada envío, dichos archivos irán comprmidos en un solo archivo; quiero lograr que si al ejecutar el proceso no encuentra alguno de los archvos para adjuntar, es decir bien sea el pdf o el xml, la macro no comprima ningún archivo y continúe con el siguiente proceso; la macro es la siguiente:
Sub ComprimirArchivosDesdeLista()
Dim SApp As Object, SApp2 As Object, FZip As Variant, myfile As Variant, myfile2 As Variant, myi As Long, myi2 As Long, cant As Long
Dim nfpres, cliente, Email, Remite, EmailRemite, archivo, ArchivoPdf, ArchivoXML, Attached As String
Dim OutApp As Object, OutMail As Object
Dim cmd As String, t As Single
Dim strFrom As String
'On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Sheets("ENVIO_CORREOS").Select
For I = 2 To Range("A" & Rows.Count).End(xlUp).Row
If Cells(I, "M").Value = "NO ENVIADO" Or Cells(I, "M").Value = "" Then
On Error Resume Next
npres = Range("A" & I) 'numero factura
npresxml = Range("K" & I) 'nombre XML
Attached = Range("L" & I) 'nombre attached
cliente = Range("C" & I) 'nombre cliente
Email = Range("D" & I) 'email cliente
Remite = Sheets("IMPR3").Range("C2") 'nombre comercial
EmailRemite = Sheets("CONFIGURACION").Range("B16") 'email del facturador
archivo = Range("G" & I) 'ruta del pdf que se adjuntará
Atta = ThisWorkbook.Path & "\Mis_Documentos\" & Attached & "" 'ruta del xml que se adjuntará
Set SApp = CreateObject("Shell.Application")
'*********si alguno de estos achivos no se encuentra en la carpeta, que no comprima nada y continúe.
myfile = archivo 'ruta del pdf
myfile2 = Atta 'Atta 'ruta del xml
cant = UBound(myfile)
If VarType(myfile) = vbBoolean Then
Exit Sub
End If
FZip = ActiveWorkbook.Path & "\Mis_Documentos\" & "Factura No." & npres & ".zip"
Open FZip For Output As #1
Print #1, Chr$(80) & Chr$(75) & Chr$(5) & Chr$(6) & String(18, 0)
Close #1
SApp.Namespace(FZip).CopyHere myfile
Application.Wait (Now + TimeValue("00:00:02"))
SApp.Namespace(FZip).CopyHere myfile2
Application.Wait (Now + TimeValue("00:00:02"))
End If
Next
'
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub