2012-05-22 5 views
1

미리 도움을 청하십시오. 클릭하면 전자 메일이 생성되고 본문 및 고객 전자 메일 주소가 삽입되며 송장 사본이 첨부되는 다음 코드가 있습니다. 두 가지 질문이 있습니다. 하나는 첨부 파일의 이름을 변경하는 것이고, 지금은 invoiceF.pdf가 배달 참조로 사용할 수 있습니다. 두 번째로, 메일을 보낸 결과를 포착 할 수 있습니까? 전자 메일이 보내지지 않고 그냥 닫히고 액세스가 정보 상자에 "개체 전송 작업이 취소되었습니다."라는 메시지가 표시되면 "보낸 사람의 확인"알림을 받고 상자 [invoiceemailed]에 오늘 날짜를 추가하려고합니다. 그들의 도움 :액세스 - 센드 메일의 결과를 반환하는 방법?

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 

답변

1

DoCmd.SendObject 명령을 사전에 누구 덕분에 매우 제한적이다. 디스크에서 파일을 첨부하는 것을 허용하지 않습니다. 이 제한 때문에 DoCmd.SendObject을 사용하여 첨부 할 파일 이름과 파일 수를 제어 할 수 없습니다.

이 문서가 도움이 될 수 있습니다 : http://msdn.microsoft.com/en-us/library/aa167323(v=office.11).aspx.

나는 Outlook.Application 개체를 과거에 사용 했으므로 괜찮습니다. 이메일을 보내기 전에 사용자 상호 작용을 허용합니다. 또한 추적이 더 쉬워 질 수 있도록 Outlook으로 바로갑니다. 그러나이 접근 방식에는 자체적 인 단점이 있습니다.

.... 
    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 
... 
: 성공 메시지에 관한 질문 사항에 따라

, 당신은 당신의 코드에 다음을 추가 할 수 있습니다
관련 문제