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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 116716
Url: https://administrator.de/contentid/116716
Ausgedruckt am: 24.11.2024 um 22:11 Uhr
4 Kommentare
Neuester Kommentar
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).
http://www.lebans.com/reporttopdf.htm funktionierte aber bei mir.
Ab 2007 geht es direkt mit SendObject (acFormatPDF).
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
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