e2mario
Goto Top

Access 2003 Report per VBA speichern

Hallo Leute,

kann ich in Access einen erstellen Report per VBA in einem bestimmtem Pfad als PDF Datei speichern und anschliessend diese Datei per Email (DoCmd.SendObject) versenden?

DANKE für eure Hilfe!

lg
Mario

Content-Key: 116716

Url: https://administrator.de/contentid/116716

Printed on: April 26, 2024 at 14:04 o'clock

Member: NilsErik
NilsErik May 25, 2009 at 12:41:44 (UTC)
Goto Top
Mit 2003 geht es soweit ich weiß nicht mit ohne Zusatztools.

http://www.lebans.com/reporttopdf.htm funktionierte aber bei mir.

Ab 2007 geht es direkt mit SendObject (acFormatPDF).
Member: e2Mario
e2Mario May 25, 2009 at 12:48:21 (UTC)
Goto Top
Danke für den Tip.

Als "Notlösung" könnte ich den Report ja öffnen und mit einem Pdf-Drucker manuell abspeichern. Aber kann ich dann die erzeugte Datei ins Mail einfügen?
Wenn ja, wie müsste das Script aussehen?
Member: NilsErik
NilsErik May 25, 2009 at 13:25:28 (UTC)
Goto Top
Erst erstellst Du den Bericht als PDF. Danach wird der Bericht am einfachsten mit Outlook verschickt.

Bei Outlook nervt je nach Einstellung die Standard-Sicherheitsabfrage. Diese kann man z.B. mit VB Script umgehen. Das wird etwas aufwendiger.

Ohne Fehlerbehandlung usw.:

Dim objOutlook As Outlook.Application
Dim objOutlookMsg As Outlook.MailItem
Dim objOutlookRecip As Outlook.Recipient
Dim objOutlookAttach As Outlook.Attachment
Dim xlapp As Object
Dim bRet As Boolean
Dim sPfad As String
dim sText As String
Dim sBetreff As String
Dim sAn As String

' PDF-Datei erzeugen
sPfad = "C:\Daten\BerichtPDF.pdf"
bRet = ConvertReportToPDF("Berichtname", vbNullString _
, sPfad, False, False, 0, "", "", 0, 0)

' Als Outlookmail verschicken
' Mail erstellen

Set objOutlook = CreateObject("Outlook.Application")
Set objOutlookMsg = objOutlook.CreateItem(olMailItem)

With objOutlookMsg
.display
.To = sAn
.Subject = sBetreff
.body = sText
.Attachments.Add sPfad, 1, 1

.Send

End With

Set objOutlook = Nothing
Member: e2Mario
e2Mario Jun 08, 2009 at 08:28:58 (UTC)
Goto Top
SUPER DANKE - klappt perfekt und ich spar mir nun die lästige Email schreiberei!

lg