Hallo zusammen
Ich würde gerne eine Bericht (Kostenvoranschlag) nicht mehr wie gewohnt als PDF speichern, dann umbenennen und anschließend per Mail versenden. Sondern den Direkt in das Outlook werfen mit dem Gewünschten Tittel, z.B Name der Firma, und unsere Kundennummer.
Ich habe den Mail Versand aktuell als Makro programmiert weil es einfach das einfachste war, jedoch habe ich eben das Problem dass bei Öffnen des Mails da nur der Berichtname steht.
Ich bin noch nicht so gut mit Access also bin auf eure Hilfe angewiesen.
Bei Fragen einfach raushauen, ich versuche alles zu Beantworten ;D
Danke.
Gruss
Wookiio
Könnte man so machen :
leg dir einen Button in ein Formular und gib folgenden Code in das Click-Ereignis ein :
Musst den Code nur auf deine Namen anpassen.
Die ug. definierten Strings kannst du auch in dein Formular anlegen.
Hier mal so als Ideengeber.
Dim StrMA As String
Dim StrBetreff As String
Dim StrText As String
Dim StrCC As String
Dim StrBC As String
Dim StrReportname As String
StrMA = "Email@empfänger"
StrBetreff = "Dein Email Betreff Text"
StrText = "Dein Email Text"
StrCC = "Dein Email CC Email@empfänger"
StrBC = "Dein Email BC Email@empfänger"
StrReportname = "DEIN REPORT NAME"
DoCmd.OpenReport StrReportname, acViewPreview, , "Report_ID=" & me.Report_ID, acHidden
Reports!StrReportname.Caption = "So wie du den Report nennen möchtest"
DoCmd.SendObject acSendReport, StrReportname, "PDFFormat(*.pdf)", StrMA, StrCC, StrBC, StrBetreff, StrText, True
Lg Bernie
Hallo Bernie
Danke für die Hilfe, soweit habe ich das ganze nun auch gefunden dank Google, ein bisschen anders aber etwa gleich. Mein Problem ist ist, dass ich den Report z. B so nennen Muss.
Firma (soll aus der Datenbank gezogen werden) Auftragsnummer (ebenfalls aus der Datenbank)
Ich weis nicht wie ich mit der VBA auf die Datenbank zugreifen kann, also welche Befehl ich eingeben muss, ist das ein @ Befehl oder ein [] Befehle??
also eigentlich bei diesem hier
"Reports!StrReportname.Caption = "So wie du den Report nennen möchtest"" muss ich irgendwie etwas eingeben aber weis nicht was, will ja nicht das der Rapport immer gleich heißt.
Hi Wookiio,
dann musst du dir die Namen aus der Tabelle auslesen und so zusammensetzen, dass es deinen gewünschten Berichtsnamen ergibt.
Beispiel :
Dim StrReportname As String
StrReportname = "Bericht zu : " & Dlookup("DeinFeldName","DeineTabelle", "ID =" & me.ID) & " vom " & Date
Letzter Teil bei "Dlookup mit "ID ...." wäre das Kriterium, welches den richtigen Wert aus deiner Tabelle ausliesst.
Diesen Code fügst du einfach dem ersten Code hinzu
Anstelle des ID Kriteriums, kannst aber auch eine Abfrage basteln, die bereits den gefilterten Zustand vorhält.
So mach ich das meistens.
Gerade wenn man mehrere Kriterien benötigt.
Dann sieht es als Beispiel so aus :
Dim StrReportname As String
StrReportname = "Bericht zu : " & Dlookup("DeinFeldName","DeineAbfrage") & " vom " & Date
Hoffe das hilft
Lg Bernie
Hallo Bernie
Das hat irgendwie nicht funktioniert also habe ich einen anderen Code geschrieben.
Problem ist dass ich da einen Fehler drin habe beim Verweis, wie das Betreff und der PDF Bericht heißen soll.
Private Sub cmdSendEmail_Click()
Dim objOutlook As Object
Dim objMail As Object
Dim strRecipient As String
Dim strSubject As String
Dim strReportName As String
Dim strAttachmentPath As String
' Outlook-Instanz erstellen
Set objOutlook = CreateObject("Outlook.Application")
' E-Mail-Objekt erstellen
Set objMail = objOutlook.CreateItem(0)
' Empfänger festlegen
strRecipient = "test@mail.com"
' Betreff und Berichtsnamen festlegen
strSubject = "Bericht - " & Me!Service.Form!SerKoNrVA.Value ' Annahme: Das Steuerelement für die Seriennummer heißt "SerKoNrVa"
strReportName = "BerRapport"
' Dateiname für das PDF generieren
strAttachmentPath = "C:\Users\Documents\" & Me!Service.Form!SerKoNrVA.Value & ".pdf" '
' Bericht als PDF exportieren
DoCmd.OutputTo acOutputReport, strReportName, acFormatPDF, strAttachmentPath
' E-Mail-Eigenschaften festlegen
With objMail
.To = strRecipient
.Subject = strSubject
.Body = "Dies ist der Bericht '" & strReportName & "' als PDF-Anhang."
.Attachments.Add strAttachmentPath
' E-Mail senden
.Send
End With
' Objekte freigeben
Set objMail = Nothing
Set objOutlook = Nothing
' PDF-Anhang löschen
Kill strAttachmentPath
MsgBox "Die E-Mail wurde gesendet."
End Sub
Beim "Betreff und Berichtsnamen festlegen" findet es den Namen nicht.
Als Erklärung.
Ich habe eine Formular, die daten Speichert es in einer Tabelle, In diesem Formular habe ich diese Rapport Nr. welche ich gerne als Name für das PDF verwenden will. Auf dem Bericht, welches ich als PDF haben möchte, ist die Rapport Nr. ebenfalls aufgelistet unter dem Steuerelement SerKoNrVA. Wie kann ich das ziehen? habe per Tabelle versucht und Per Formular sowie per Bericht. Gibt mir immer einen Fehler
Hi,
du meinst das hier ?
strSubject = "Bericht - " & Me!Service.Form!SerKoNrVA.Value ' Annahme: Das Steuerelement für die Seriennummer heißt "SerKoNrVa"
strReportName = "BerRapport"
mach es doch dann irgendwie so :
strSubject= "Bericht - " & Forms!deinFormularName!DeinFeldName
und BerRapport ist hoffentlich der Name deines Berichts ?
Danke Bernie
Jetzt geht's du hast mir sehr geholfen !! ;D ;D ;D ;D