Office: (Office 2010) Access Tabelle in email body kopieren (nicht anhängen)

Helfe beim Thema Access Tabelle in email body kopieren (nicht anhängen) in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Stell die Struktur vom Kopf auf die Füße: Erst 2 Tabellen als Html formatieren und aneinanderhängen, dann mit Outlook verschicken. Htmlfile ist doch... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Rico_2014, 4. Februar 2017.

  1. Access Tabelle in email body kopieren (nicht anhängen)


    Stell die Struktur vom Kopf auf die Füße: Erst 2 Tabellen als Html formatieren und aneinanderhängen, dann mit Outlook verschicken. Htmlfile ist doch nur ein Zwischenspeicher.
     
    drambeldier, 11. Februar 2017
    #16
  2. Danke Rlf,

    sorry, mir fehlt das Wissen. Wie machtman das?
    Wie ich 2 Tabellen als html formatiere, ist klar.

    Aber wie füge ich sie zusammen?
    VG
    Rico
     
    Rico_2014, 11. Februar 2017
    #17
  3. Jugend forscht: Den OutputTo zweimal aufsetzen und schauen, was passiert. Wenn HtmlFile beim 2. Aufruf überschrieben wird, dann halt für T1 OutputTo HtmlF1, für T2 OutputTo HtmlF2 und dann beide in strDatei einlesen wie jetzt schon mit HtmlFile.
     
    drambeldier, 11. Februar 2017
    #18
  4. Access Tabelle in email body kopieren (nicht anhängen)

    Hallo Rico,

    Grundprinzip:

    Code:
    Das Einlesen in eine Variable findest du auch im DBWiki.
    VBA Tipp: Textdatei einlesen

    Gruß
    Josef
     
  5. Hallo Josef,

    da hast Du mich falsch verstanden(oder ich Dich?)

    Ich möchte nicht den htmfile in die Tabelle schreiben, sondern die Tabellen in einen htmfile

    Wo setze ich den code ein? In die Funktion "HTMmail" oder in meine Prozedur?
     
    Rico_2014, 12. Februar 2017
    #20
  6. Hallo Rico,
    Ich versuch's nochmal: *wink.gif*

    Code:
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
  7. Hallo Josef,

    vielen Dank.
    Sorry, hab noch etwas Geduld mit mir...

    Code:
    Damit mache ich es mir wohl zu einfach...
    Aber ich weiss einfach nicht, wie ich nun htmfile1 in strhtmltext1 einlesen muss..

    Sorry, dass ich dich nochmals um Hilfe bitten muss...
    VG
    Rico
     
    Rico_2014, 12. Februar 2017
    #22
  8. Access Tabelle in email body kopieren (nicht anhängen)

    Hallo Rico,
    das findest du z.B. im DBWiki:
    VBA Tipp: Textdatei einlesen

    Code:
    Du kannst natürlich auch deinen Code dafür verwenden:
    Code:
    Kommst du damit weiter?

    Das Grundprinzip (nur mit einem Bericht) findest du auch hier:
    VBA Tipp: Bericht als HTML-Nachricht über Outlook versenden

    Gruß
    Josef
     
  9. Hallo Josef,

    vielen vielen Dank!

    Hab nun nur noch das Problem, dass immer nur der erste htmfile angezeigt wird

    Das habe ih in meiner Prozedur:

    Code:
    Was mach ich denn verkehrt?
     
    Rico_2014, 12. Februar 2017
    #24
  10. Vielleicht sollte man einige Grundsatzüberlegungen anstellen, ehe man mit Codes jongliert:
    - Eine Überlegung dabei wäre: Ist der notwendige bzw. akzeptierte Inhalt für HTMLBody ein vollständiges HTML-File oder vielleicht etwas anderes (z.B. ein Teilinhalt eines HTML-Files)? Gab es da schon mal eine Überprüfung?
    - Ist es sinnvoll/akzeptabel, dass da einfach mehrere HTML-Files in Vollständigkeit hineingepackt werden sollen?
    - Hat man überhaupt ein Verständnis zu HTML und dessen Struktur? HTML/Tutorials/HTML-Einstieg

    Die OutputTo-Methode verhilft natürlich einfach zu HTML. Jeder Aufruf erzeugt aber eine eigene Datei. Zwei Dateien hintereinander ist etwas anderes als zwei Tabellen hintereinander in einer Datei (bei Excel würde einem das auch aufffallen). Bei einer Standardmethode wie dieser kann man das auch nicht einfach umstellen, sondern da muss man selber Hand anlegen und Inhalte an den richtigen Stellen zusammenfügen. Also müsste etwas differenzierter vorgegangen werden als irgendwas schlicht aneinanderzuhängen.

    Selbstredend könnte man auch anders HTML-Text erzeugen. Arne Dieckmann zeigt hier eine Lösung dazu. TabToWeb.

    Auch ist im Eingangscode ersichtlich, dass da Plaintext ("Hallo" & Co.) mit HTML zusammengehängt wird. Obwohl es anscheinend wohl funktioniert (der mit Leerzeilen versehene Code so allerdings garantiert nicht), so würde man auch nachdenken, wie das dann aussieht. So ein einheitliches Design (gleiche Schriftart und -größen usw.) wäre sicherlich auch ein Minimalstandard, zu dem man kommen wollte.

    Eine Kopie aus der Outlook-VBA-Hilfe zum Nachdenken:

    PHP:
             Sub CreateHTMLMail()
    'Creates a new e-mail item and modifies its properties.
    Dim objMail As Outlook.MailItem

    '
    Create e-mail item
    Set objMail 
    Application.CreateItem(olMailItem)
    With objMail
    Set body format to HTML
    .BodyFormat olFormatHTML
    .HTMLBody _
    "<HTML><BODY>Enter the message text here. </BODY></HTML>"
    .Display
    End With
    End Sub
     
  11. \@Eberhard,
    du hast damit absolut recht, und ich muss zugeben, dass ich den Code nicht getestet habe, und dadurch "auf den Bauch gefallen" bin.

    @Rico,
    vielleicht entscheidest dich angesichts dieser "Schwierigkeiten" doch dazu, die Tabellen als einzelne Anhänge zu versenden. Dann kannst du dir die HTML-Programmierung ersparen.

    Gruß
    Josef
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
  12. Nun, man muss nicht gleich die Flinte ins Korn werfen. Nachfolgend ein Ansatz, der bei mir läuft.
    Die Zeilentrennungen < br > (ohne Leerzeichen) hat es nachfolgend verschluckt, die darf man selber reichlich in den HTML-Text ergänzen.

    PHP:
             Sub aufruf_HTMLMail()
    HTMLMail "abc@web.de""Meine neue Nachricht""TabelleX""TabelleY""TabelleZ"
    End Sub

    Public Function HTMLMail(SendTo As String_
    Subject 
    As String_
    ParamArray AllTables
    () As Variant) As Boolean

    '    Dim strDatei As String, LU As Long
    '    
    Dim Mailnachricht As String
    '    Dim Signature As String

    Dim olApp As Object
    Dim olItem As Object
    Dim sFile As String
    Dim sContent As String
    Dim sBody As String
    Dim i As Long

    '    'GET DEFAULT EMAIL SIGNATURE
    '    
    Signature Environ("appdata") & "MicrosoftSignatures"
    '    If Dir(Signature, vbDirectory) <> vbNullString Then
    '        
    Signature Signature Dir$(Signature "*.htm")
    '    Else:
    '        
    Signature ""
    '    End If
    '    
    Signature CreateObject("Scripting.FileSystemObject").GetFile(Signature).OpenAsTextStream(1, -2).ReadAll

    Set olApp 
    CreateObject("Outlook.Application")
    Set olItem olApp.CreateItem(0)

    sFile CurrentProject.Path "\xxx.html"
    For 0 To UBound(AllTables)
    DoCmd.OutputTo acOutputTableAllTables(i), acFormatHTMLsFile
    sContent 
    ReadFile(sFile)
    Kill sFile
    sContent 
    findSubString(sContent"<BODY>""</BODY>")
    sBody sBody "" sContent
    Next

    sBody 
    "Hallo Nase, hier einige Infos: " sBody " Tschüss Das Einhorn"
    With olItem
    .To SendTo
    .Subject Subject
    .HTMLBody "<HTML><BODY>" sBody "</BODY></HTML>"
    .Display                                       oder gleich senden:   .Send
    End With
    HTMLMail 
    True

    Set olItem 
    Nothing
    Set olApp 
    Nothing

    End 
    Function

    Private Function 
    findSubString(ByVal SourceString As String_
    ByVal StartTag 
    As StringByVal EndTag As String_
    Optional ByRef StartPos 
    As Long 1) As String

    Dim lngStartPos 
    As LonglngEndPos As Long

    lngStartPos 
    InStr(StartPosSourceStringStartTagvbTextCompare)
    If 
    lngStartPos <= 0 Then
    Exit Function
    End If

    lngStartPos lngStartPos Len(StartTag)
    lngEndPos InStr(lngStartPosSourceStringEndTagvbTextCompare)

    If 
    lngEndPos <= 0 Then
    Exit Function
    End If

    StartPos lngStartPos
    findSubString 
    Trim$(Mid$(SourceStringlngStartPoslngEndPos lngStartPos))

    End Function

    Public Function 
    ReadFile(ByVal Path As String) As String
    Dim FileNr 
    As Long

    FileNr 
    FreeFile
    Open Path 
    For Binary As #FileNr
    ReadFile Space$(LOF(FileNr))
    Get #FileNr, , ReadFile
    Close #FileNr
    End Function
     
  13. Access Tabelle in email body kopieren (nicht anhängen)

    Hallo Rico,

    ich hab auch nochmal getüftelt, und eine "Billigvariante" gefunden. *wink.gif*
    Ich nehme mal deinen Code als Muster.
    Code:
    Teste mal, ob das bei dir auch funktioniert.

    Gruß
    Josef
     
Thema:

Access Tabelle in email body kopieren (nicht anhängen)

Die Seite wird geladen...
  1. Access Tabelle in email body kopieren (nicht anhängen) - Similar Threads - Access Tabelle email

  2. Aus Access mehrere Excel-Tabellen in neue Datei speichern

    in Microsoft Access Hilfe
    Aus Access mehrere Excel-Tabellen in neue Datei speichern: Hallo, ich habe eine größere Excel-Datei, aus der ich drei Tabellenblätter als neue Excel-Datei abspeichern möchte. Das Ganze soll per VBA aus Access heraus funktionieren. Ich habe es versucht...
  3. 3 Accesstabellen in eine neue Access Tabelle (nicht Abfrage) zusammenfügen

    in Microsoft Access Hilfe
    3 Accesstabellen in eine neue Access Tabelle (nicht Abfrage) zusammenfügen: Hallo, ich habe folgendes Problem: Ich habe 3 Tabellen in Access importiert und möchte diese ohne Abfrage in eine neue Accesstabelle zusammenfügen. Es müssen auch mehr Tabellen zusammengefügt...
  4. Access Tabelle mit Excel Daten updaten

    in Microsoft Access Hilfe
    Access Tabelle mit Excel Daten updaten: Hallo zusammen, ich habe eine Excel Arbeitsmappe die ständig aktualisiert wird. Die Spaltennamen stimmen mit den Spaltennamen der Tabelle in Access überein. Jetzt möchte ich gerne einen VBA Code...
  5. S-Verweis oder Pivot Tabelle oder doch access

    in Microsoft Excel Hilfe
    S-Verweis oder Pivot Tabelle oder doch access: Hey, habe ein Problem. ich habe eine Tabelle, siehe Bild. Im Feld "Bewohner" befindet sich eine Dropdown Liste, welche 4 Datensätze enthält mit den Namen der Klienten, die wir betreuen. Jetzt...
  6. Tabellen-Datenquelle in ganzem Dokument ändern

    in Microsoft Access Hilfe
    Tabellen-Datenquelle in ganzem Dokument ändern: Hallo, ich habe eine Access-Datenbank (FE & BE getrennt) mit mehreren Tabellen, Abfragen und Formularen. Nun möchte ich das BE nach SQL migrieren. Den Assistenten hierzu scheint es ja nicht mehr...
  7. Bestimmte Daten zwischen innerhalb eines Datumsbereichs einer Tabelle Anfügen

    in Microsoft Access Hilfe
    Bestimmte Daten zwischen innerhalb eines Datumsbereichs einer Tabelle Anfügen: Hallo, ich habe per Google und Foren SuFu leider nichts passendes finden können, wage aber zu bezweifeln, dass Access da an seine Grenzen kommt, da es eigentlich recht banal ist. Ich habe eine...
  8. Auswahlmenü in Formularen erstellen & speichern mehrerer Datensätze

    in Microsoft Access Hilfe
    Auswahlmenü in Formularen erstellen & speichern mehrerer Datensätze: Hallo zusammen, Ich melde mich bezüglich folgenden Sachverhaltes: Ziel unserer Access-Anwendung ist es: Übergabeprotokoll und Rückgabeprotokoll für Technik zu erstellen! Was haben wir bereits:...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden