Pregunta

Gracias de antemano por cualquier ayuda.Tengo el siguiente código que cuando se hace clic en crea un correo electrónico, inserta la dirección de correo electrónico del cuerpo y del cliente y adjunta una copia de la factura.Tengo dos preguntas, una es posible cambiar el nombre del archivo adjunto, en este momento, solo es FOICEICEF.PDF podría hacerlo con la referencia de la entrega.Y en segundo lugar, ¿es posible obtener el resultado del correo de envío?Sé que si el correo electrónico no se envía, simplemente cerrado, el acceso pone un cuadro de información que dice "La acción de envío de objetos se canceló", quiero capturar la confirmación de "enviada con éxito" y agregar la fecha de hoy a una casilla [FactoteEmailed].Gracias a cualquiera antes de su ayuda :)

Private Sub emailinvoiceF_Click()
On Error GoTo Err_emailinvoiceF_Click

If MsgBox("Email the invoice?", vbYesNo) = vbYes Then

Dim strMessage
strMessage = "Dear " & First & " " & Last & "," _
& vbCrLf & vbCrLf & "Thank you for your order: (" & DeliveryID & "), please find attached invoice." _
& vbCrLf & vbCrLf & "If you require any further information please do not hesitate to contact us." _
& vbCrLf & vbCrLf & "Kind Regards," _
& vbCrLf & vbCrLf & "SMI Hardwoods" _
& vbCrLf & vbCrLf & "Tel: 01206 396725" _
& vbCrLf & vbCrLf & "www.smi-hardwoods.com" _


    Dim stDocName As String

    stDocName = "InvoiceF"
    DoCmd.SendObject acReport, stDocName, acFormatPDF, [E-mail address], , , "SMI Hardwoods Invoice Ref:" & DeliveryID & ".pdf", strMessage
End If

Exit_emailinvoiceF_Click:
    Exit Sub

Err_emailinvoiceF_Click:
    MsgBox Err.Description
    Resume Exit_emailinvoiceF_Click

End Sub

¿Fue útil?

Solución

DOCMD.SENDOBJECT El comando es muy limitado.No le permite adjuntar archivos del disco.Debido a esta limitación, no tiene control sobre el nombre del archivo y el número de archivos que se adjuntan utilizando docmd.sendobject .

Puede encontrar este artículo útil: http://msdn.microsoft.com/en-us/library/AA167323(V=Office.11).aspx .

He utilizado Outlook.Application Objeto en el pasado y lo encontré bien.Permite tener alguna interacción del usuario antes de enviar un correo electrónico.Además, va directamente a Outlook, por lo que el seguimiento podría ser más fácil.Sin embargo, este enfoque tiene sus propios contras.

Según su pregunta con respecto al mensaje de éxito, puede agregar lo siguiente a su código:

....
    DoCmd.SendObject acReport, stDocName, acFormatPDF, [E-mail address], , , "SMI Hardwoods Invoice Ref:" & DeliveryID & ".pdf", strMessage

    'Display success message
    MsgBox("Successfully sent on: " & Date())
End If

Exit_emailinvoiceF_Click:
    Exit Sub
...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top