siemeyer
Goto Top

Outlook-Mail mit mehreren Daten, Diagrammen aus Excel

Ich ziehe mir 8 Tabellen in eine Excel-Datei und verarbeite sie dort, das Ergebnis sind dann 12 Bereiche, Diagramme und Bilder die ich über Mails verteile. Einen Bereich zu verschicken funktioniert problemlos, mehrere mit TExt in eine Mail zu packen bekomme ich nicht hin.

Habe folgendes Problem:
Mit Excel VBA soll aus der Excel-Datei eine Mail generiert werden:
ein Text "ertwerzwrez:",
dann aus Sheet 1 soll der Bereich C5:I39 in die Mail kopiert werden,
dann der Text "rtzrtzzzuwer",
dann aus Sheet 1 das Diagramm 1 als Bild eingefügt werden,
dann der Text "nertzsdfgerzetrhrfgth",
dann aus Sheet 2 der Bereich B4:Q73 als Bild eingefügt werden,
dann der Text "fghetzwerg36erg",
dann aus Sheet 4 der Bereich O7:V14 in die Mail kopiert werden.

Hab schon vieles probiert, bringe aber die einzelnen Elemente nciht in die richtige Reihenfolge untereinander.......

Sub MailSenden()
    Dim OutApp As Object
    Dim OutMail As Object
    Dim rng1 As Range
    Dim rng2 As Range
    Dim rng3 As Range

    ' Create a new Outlook application  
    Set OutApp = CreateObject("Outlook.Application")  

    ' Create a new email  
    Set OutMail = OutApp.CreateItem(0)

    ' Set the email subject  
    OutMail.Subject = "Aktuelle Daten"  

    ' Set the email body  
    OutMail.Body = "ertwerzwrez:" & vbCrLf  

    ' Copy and paste data from Sheet1 to the email body  
    Set rng1 = ThisWorkbook.Sheets("Sheet1").Range("C5:I39")  
    rng1.Copy
    OutMail.GetInspector.WordEditor.Range.Paste

    ' Add text for Entwicklung im lfd. Monat:  
    OutMail.Body = OutMail.Body & vbCrLf & "rtzrtzzzuwer:" & vbCrLf  

    ' Copy and paste data from Sheet1 to the email body  
    Set rng2 = ThisWorkbook.Sheets("Sheet1").Range("K50:Z70")  
    rng2.Copy
    OutMail.GetInspector.WordEditor.Range.Paste

    ' Add text for Umsatz/WE zum Plan:  
    OutMail.Body = OutMail.Body & vbCrLf & "nertzsdfgerzetrhrfgth:" & vbCrLf  

    ' Insert an image from Sheet2 into the email body  
    Set rng3 = ThisWorkbook.Sheets("Sheet2").Range("B4:Q73")  

    ' Save the range as a picture and insert it into the email body  
    rng3.CopyPicture xlScreen, xlPicture
    OutMail.GetInspector.WordEditor.Range.PasteAndFormat Type:=wdChartPicture

     ' Add text for EP:  
     OutMail.Body = OutMail.Body & vbCrLf & "fghetzwerg36erg" & vbCrLf  

     ' Copy and paste data from Sheet4 to the email body  
     Set rng4 = ThisWorkbook.Sheets("Sheet4").Range("O7:V14")  
     rng4.Copy
     OutMail.GetInspector.WordEditor.Range.Paste

     ' Display the email  
     OutMail.Display

End Sub

Content-Key: 12758521363

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

Printed on: April 28, 2024 at 00:04 o'clock

Mitglied: 11078840001
11078840001 Feb 15, 2024 updated at 16:02:50 (UTC)
Goto Top
' ....  
With OutMail
     With .GetInspector.WordEditor.Range
            .Collapse 0
            .InsertAfter "A Text" & vbNewLine  
            .Collapse 0
            .InsertAfter "another text" & vbNewLine  
            .Collapse 0
            .Paste
            ' usw ......  
     End With
     .Display
End With

RTFM