Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo,

ich möchte aus Access heraus einen Bericht als Email anhang versenden. Da ich das an verschiedenen stellen machen muss, habe ich ein Moudl sendMail erstellt, dem jetzt die entsprechenden Daten mitgegeben werden soll.

ich habe schon viele Foren durchsucht, finde aber immer nur angaben mit Dateipfaden, aber ich will den Bericht ja nicht speichern, sondern direkt aus Access heraus als pdf verschicken.

Ist das überhaupt mölich?

mein bisheriger code:


Option Compare Database


Public Sub send_Mail(empfaenger$, betreff As String, text As String, Optional cempfaenger As String, Optional pfad As String)


Dim objwShell As Object

'aktiveirt ClickYes

    Set objwShell = CreateObject("wscript.shell")

    objwShell.Run ("""C:\Programme\Express ClickYes\ClickYes.exe"" -activate")


Dim myMail      As Outlook.MailItem

Dim myOutlApp   As Outlook.Application


' Ein neue Outlook-Instanz und ein neues Mailitem erstellen

    Set myOutlApp = New Outlook.Application

    Set myMail = myOutlApp.CreateItem(0)



    With myMail

        ' Den Empfänger der Mail festlegen

        .To = empfaenger

        ' Einen CC-Empfänger hinzufügen

        .CC = cempfaengeer

        ' Den Betreff der Mail festlegen

        .Subject = betreff

        ' Text in die Mail einfügen

        .Body = text

        ' Ein Attachment aus dem Dateisystem anhängen

        If Not pfad = "" Then

            .Attachments.Add pfad

        End If


        ' Die Email abschicken

        .Send

        ' Anstatt die Email sofort zu senden, kann man auch die Display-Methode des

        ' Mailitems verwenden, um die Email anzuzeigen und sie vom Benutzer manuell

        ' verschicken zu lassen.


    End With


    ' Objektvariablen zerstören und Speicher freigeben

    Set myMail = Nothing

    Set myOutlApp = Nothing


'beendet ClickYes

    objwShell.Run ("""C:\Programme\Express ClickYes\ClickYes.exe"" -stop")


End Sub
und mein Funktionsaufruf:

'Email_var erstellen

    Dim empfaenger As String

    Dim betreff As String

    Dim text As String

    Dim pfad As String


'Zuordnung

    empfaenger = "meine Adresse"

    betreff = "betreff"

    text = "Inhalt"

    pfad = "Berichtname"


Call sendMail.send_Mail(empfaenger, betreff, text, , pfad)

vielen Dank im vorraus

nora

Geschrieben

Hallo

da du einen Access- Bericht hast, der def. noch kein PDF ist musst du natürlich erst einmal den Bericht in PDF umwandeln. Was spricht dann dagegen diese PDF auf dem FileSystem abzulegen, dann als Dateianhang zu versenden und dann im FileSystem wieder zu löschen.

Um einen Bericht in ein PDF umzuwandeln kannst du z.B. PDF-Creator verwenden, dort gibt es auch viele BeispielCodes.

Gruß Hans-Jörg

Geschrieben

da du einen Access- Bericht hast, der def. noch kein PDF ist musst du natürlich erst einmal den Bericht in PDF umwandeln. Was spricht dann dagegen diese PDF auf dem FileSystem abzulegen, dann als Dateianhang zu versenden und dann im FileSystem wieder zu löschen.

klingt erst mal ganz gut, kann ich das aus Access heraus löschen?

Um einen Bericht in ein PDF umzuwandeln kannst du z.B. PDF-Creator verwenden, dort gibt es auch viele BeispielCodes.

das geht leider nicht, weil der User nichts von der E-Mail mitbekommen soll... das ganze soll so zusagen im Hintergrund laufen... d.h. wenn ein User eine bestimmte Funktion ausführt (bei mir ein Click-Ereignis, die eine Aktualisierung durchführt) soll mir eine E-Mail mit geschickt werden, in der der aktuelle Bericht/ ein aktuelles Formular als Datei angehängt wird.

mir ist dabei egal, ob Excel/Word/pdf/rtf/snapshot

hauptsache der User bekommt es nicht mit.

danke für deine schnelle Antwort,

nora

Geschrieben

Hallo

also wenn ich das richtig verstanden habe geht es dir weniger um die Optik sondern eher darum zu sehen welche Daten in dem Bericht stehen. Wenn dem so ist, kannst du ja einfach eine TextEmail (ähnlich wie eine LOG- Datei) wegschicken.

Noch zum PDF-Creater:

Wenn ich mich nicht komplett irre, kannst du Programmiertechnisch den PDF- Creator so verwenden, dass KEINE Maske des PDF-Creators hoch kommt, dies wiederum heißt, dass der Endanwender nichts mitbekommt.

Dateien löschen sollte über Access schon gehen.

Gruß Hans-Jörg

Geschrieben
also wenn ich das richtig verstanden habe geht es dir weniger um die Optik sondern eher darum zu sehen welche Daten in dem Bericht stehen. Wenn dem so ist, kannst du ja einfach eine TextEmail (ähnlich wie eine LOG- Datei) wegschicken.

kannst du mir den Code zum erzeugen dieser Text-Mail schreiben?

Noch zum PDF-Creater:

Wenn ich mich nicht komplett irre, kannst du Programmiertechnisch den PDF- Creator so verwenden, dass KEINE Maske des PDF-Creators hoch kommt, dies wiederum heißt, dass der Endanwender nichts mitbekommt.

Das habe ich bis jetzt noch nicht gefunden, in den Foren steht immer nur, das der Creator Speicherort und -name abfragt, egal wie man ihn programmiert.

Dateien löschen sollte über Access schon gehen.

kannst du mir auch hierfür den Code senden?

ich bin noch nicht so fit in VBA, ich habe letzten Sommer damit angefangen, aber immer nur so "hier ist eine Aufgabe - mach mal" dann habe ich im Internet gesucht und gefunden. Da ich C, C++ und C# im Studium lerne, fällt mir das programmieren nicht so schwer, aber leider kenne ich die VBA-Syntax nicht ausreichend :(

Danke für deine Hilfe,

Nora

Geschrieben (bearbeitet)

Hallo

hier sind ein paar Beispiel Access- Dateien

MS Access Downloads

Hier hat mir die "Knowhow 3.0" früher immer viel geholfen

Löschen von Dateien

http://forum.fachinformatiker.de/datenbanken/37159-datei-loeschen-access-per-vba.html

Noch eine gute Seite für Access- Infos

donkarls Access-Seiten

Für den PDF-Creator-Test musst dir mal den PDF-Creator herunterladen und installieren. Achtung nicht vergessen die Programmierbeispiele mit zu installieren.

Gruß Hans-Jörg

Bearbeitet von HJST1979

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...