it-swarm.com.de

Frau Access E-Mail mit Bericht als Anhang senden

Mit dem VBA Code Builder in MS Access konnte ich Code schreiben, der Outlook öffnet, und mir per Mausklick eine E-Mail senden. Ich habe Probleme beim Hinzufügen eines Anhangs. Der meiste gefundene Code fügt Dateien außerhalb der MS-Datenbank als Anhang hinzu. Ich möchte einen in meiner Datenbank erstellten Bericht als Anhang hinzufügen.

Private Sub EmailReport_Click()
Dim oApp As New Outlook.Application
Dim oEmail As Outlook.MailItem

'Email the results of the report generated
Set oEmail = oApp.CreateItem(olMailItem)
oEmail.To = "[email protected]"
oEmail.Subject = "Training Roster"
oEmail.Body = "Roster Information"

With oEmail
    .Send
    MsgBox "Email Sent"
End With

Ich habe einen ähnlichen Befehl untersucht wie

oEmail.Attachments.Add Me.

Aber ich kann die richtige Kombination zum Hinzufügen meines Berichts nicht finden. Vielen Dank!!

3
Stacy

Exportieren Sie Ihren Bericht wie erwähnt in eine externe Datei, z. B. PDF, um ihn an Ihre ausgehende E-Mail anzuhängen. Denken Sie daran, dass ein Bericht ein internes Access-Objekt ist und nicht ohne weiteres in einem Dateiformat für E-Mails vorliegt. Mit DoCmd.OutputTo können Sie das PDF dynamisch im Handumdrehen mit Datumsstempel und an demselben Speicherort als Datenbank für eine verallgemeinerbare Lösung für alle Benutzer erstellen.

Private Sub EmailReport_Click()
Dim oApp As New Outlook.Application
Dim oEmail As Outlook.MailItem
Dim fileName As string, todayDate As String    

'Export report in same folder as db with date stamp
todayDate = Format(Date, "MMDDYYYY")
fileName = Application.CurrentProject.Path & "\ReportName_" & todayDate & ".pdf"
DoCmd.OutputTo acReport, "ReportName", acFormatPDF, fileName, False

'Email the results of the report generated
Set oEmail = oApp.CreateItem(olMailItem)
With oEmail
    .Recipients.Add "[email protected]"
    .Subject = "Training Roster"
    .Body = "Roster Information"
    .Attachments.Add fileName
    .Send        
End With

MsgBox "Email successfully sent!", vbInformation, "EMAIL STATUS"
5
Parfait

Sie können Ihren Bericht als PDF per E-Mail mit folgendem Inhalt exportieren:

DoCmd.SendObject(ObjectType, ObjectName, OutputFormat, To, Cc, Bcc,Subject, MessageText, EditMessage, TemplateFile)
2
David

Wenn Sie DoCmd.SendObject verwenden, müssen Sie Outlook Programmatic Access aktualisieren, um Warnungen zum automatischen Senden von E-Mails zu deaktivieren. In meinem Fall hat der Administrator der Domain die Änderung dieser Optionen aktiviert. Weitere Informationen hier .

0
user3627268