Mit dem VBA-Code-Generator in MS Access konnte ich Code schreiben, der Outlook öffnet, und mir per Knopfdruck eine E-Mail senden. Ich habe Probleme beim Hinzufügen eines Anhangs. Der meiste Code, den ich gefunden habe, 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
oEmail.Attachments.Add Me.
Aber ich kann nicht die richtige Kombination zum Hinzufügen meines Berichts finden. Vielen Dank!!
Exportieren Sie Ihren Bericht wie erwähnt in eine externe Datei wie 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 laufenden Betrieb mit Datumsstempel und am selben Speicherort wie die Datenbank erstellen, um eine verallgemeinerbare Lösung für alle Ihre Benutzer zu erhalten.
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"
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen