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-ID: 116716

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

Ausgedruckt am: 13.11.2024 um 09:11 Uhr

NilsErik
NilsErik 25.05.2009 um 14:41:44 Uhr
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).
e2Mario
e2Mario 25.05.2009 um 14:48:21 Uhr
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?
NilsErik
NilsErik 25.05.2009 um 15:25:28 Uhr
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
e2Mario
e2Mario 08.06.2009 um 10:28:58 Uhr
Goto Top
SUPER DANKE - klappt perfekt und ich spar mir nun die lästige Email schreiberei!

lg