Domanda

Grazie in anticipo per qualsiasi aiuto.Ho il seguente codice che quando ha fatto cliccare crea un'e-mail, inserisce l'indirizzo e-mail del corpo e il cliente e attribuisce una copia della fattura.Ho due domande, è possibile modificare il nome del file allegato, al momento è solo invoicef.pdf potrebbe fare con esso il riferimento della consegna.E in secondo luogo, è possibile prendere il risultato della posta di invio?So che se l'e-mail non viene inviata, appena chiusa, l'accesso inserisce una casella di informazione che dice "L'azione di invio dell'oggetto è stata annullata", voglio catturare la conferma "inviata con successo" e aggiungere la data di oggi a una casella [fatturatiagliata].Grazie a chiunque in anticipo del loro aiuto :)

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
.

È stato utile?

Soluzione

DOCMD.SENDobject comando è molto limitato.Non consente di allegare i file dal disco.A causa di questa limitazione non hai il controllo sul nome del file e il numero di file da allegare usando docmd.sendbject .

È possibile trovare utile questo articolo: http://msdn.microsoft.com/en-us/library/aa167323(V=Office.11).aspx .

Ho usato Outlook.Application oggetto in passato e trovato ok.Permette di avere qualche interazione dell'utente prima di inviare un'e-mail.Inoltre, va direttamente in Outlook quindi il monitoraggio potrebbe essere più facile.Questo approccio ha i suoi contro, però.

Secondo la tua domanda riguardante il messaggio di successo, è possibile aggiungere il seguente al tuo codice:

....
    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
...
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top