No había pensado en eso. Mira, si en una carpeta llamada Presupuestos tengo
Y tengo la tabla
A la pobre María no le mando nada, que se fastidie.
En el formulario basado en esta tabla pulso el botón
Me va pasando los que existen a Outlook
Como te decía, con María ni me hablo.
El código es
Private Sub Comando7_Click()
Dim i As Byte
For i = 1 To Me.Recordset.RecordCount
If Dir$("c:\users\cabarcos\documents\presupuestos\" & "" & Me.DNI & "" & ".pdf") = "" Then
DoCmd.GoToRecord , , acNext
Else
Dim objOutlook As Object
Dim objItem As Object
Dim objNamespace As Object
Dim ADJUNTO As Variant, Adjunto1 As Variant
Set objOutlook = CreateObject("Outlook.Application")
Set objNamespace = objOutlook.GetNamespace("MAPI")
Set objItem = objOutlook.CreateItem(olMailItem)
objNamespace.Logon "EXCELSPACE", , True, True
ADJUNTO = "c:\users\cabarcos\documents\presupuestos\" & "" & Me.DNI & "" & ".pdf"
'Adjunto1 = "" & Me.Archivo1 & ""
With objItem
.attachments.Add (ADJUNTO)
'.attachments.Add (Adjunto1)
.Display
.to = "" & Me.Email & ""
.CC = ""
.BCC = ""
.Subject = "Estimado amigo"
.Body = "Te mando esta facturilla por si tuvieras a bien abonarmela"
.Send
End With
objNamespace.Logoff
Set objOutlook = Nothing
Set objItem = Nothing
Set objNamespace = Nothing
DoCmd.GoToRecord , , acNext
End If
Next
End Sub
Es decir, primero comprueba si existe ese archivo con el DNI que figura en el formulario, Si existe lo envía y se va al siguiente registro. Si no existe, se va directamente al siguiente registro.