20.02.2023, 14:25
Hallo Leute habe gerade ein echtes Problem ,
und zwar habe ich eine Excel Tabelle die sich dynamisch erweitert mit der Zeit und da soll der Bereich
A bis T als Anhang jeweils zu der Email hinzugefügt werden, dabei muss erkannt werden dann die Excel auch immer die neuen Zeilen beachtet die an Daten hinzugefügt werden. Zudem soll noch eine PDF über die gesamte Tabelle erstellt werden ..perfekt wäre auch da, dass da immer nur der befüllte Bereich angezeigt wird . Da wäre der Bereich (A bis AB)
ich habe eine VBA an sich fertig jedoch kann ich sie nicht durchtesten weil der Durchlauf immer an einer Stelle hängen bleibt !
.SaveAs Filename:=AWS, FileFormat:=xlOpenXMLWorkbook
ich bin leider absoluter Amateur und versuche mich da durch zu beißen jedoch komme ich hier einfach nicht weiter ...
für Hilfe wäre ich sehr sehr dankbar ..
ich hänge den code an und hoffe auf Rückantwort .
Vielen Dank .
und zwar habe ich eine Excel Tabelle die sich dynamisch erweitert mit der Zeit und da soll der Bereich
A bis T als Anhang jeweils zu der Email hinzugefügt werden, dabei muss erkannt werden dann die Excel auch immer die neuen Zeilen beachtet die an Daten hinzugefügt werden. Zudem soll noch eine PDF über die gesamte Tabelle erstellt werden ..perfekt wäre auch da, dass da immer nur der befüllte Bereich angezeigt wird . Da wäre der Bereich (A bis AB)
ich habe eine VBA an sich fertig jedoch kann ich sie nicht durchtesten weil der Durchlauf immer an einer Stelle hängen bleibt !
.SaveAs Filename:=AWS, FileFormat:=xlOpenXMLWorkbook
ich bin leider absoluter Amateur und versuche mich da durch zu beißen jedoch komme ich hier einfach nicht weiter ...
für Hilfe wäre ich sehr sehr dankbar ..
ich hänge den code an und hoffe auf Rückantwort .
Vielen Dank .
Code:
Sub UATEmailReporting2excelundpdfHTmLAuto()
'** Dimensionierung der Variablen
Dim strPDF As String
Dim OutlookApp As Object, strEmail As Object
Dim olOldbody As String
Dim olApp As Object
Dim AWS As String
'** Vorgaben definieren
Set OutlookApp = CreateObject("Outlook.Application")
Set strEmail = OutlookApp.CreateItem(0)
AWS = Environ("USERPROFILE") & "\Desktop\Reporting-Outbound.xlsx"
'** PDF erzeugen
ThisWorkbook.Sheets("Outbound").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\Reporting-Outbound.pdf", Quality:=xlQualityStandard _
, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish _
:=False
'** Excel erzeugen
ThisWorkbook.Sheets("Outbound").Range("A1:T" & Sheets("Outbound").Cells(Rows.Count, 1).End(xlUp).Row).Copy
Application.DisplayAlerts = False
With ActiveWorkbook
.SaveAs Filename:=AWS, FileFormat:=xlOpenXMLWorkbook
.Close savechanges:=False
End With
Application.DisplayAlerts = True
'** E-Mail versenden
strPDF = ThisWorkbook.Path & "\Reporting-Outbound.pdf"
Set olApp = CreateObject("Outlook.Application")
With olApp.CreateItem(0)
With strEmail
.Attachments.Add strPDF
.Attachments.Add AWS
.To = ""
.Subject = "1000erKunden-Outbound-Report Stand:" & Range("AA1")
.GetInspector
olOldbody = .htmlBody
.BodyFormat = 2 'olFormatHTML
.htmlBody = "<font size=4 color=black name=Arial> <B>Hallo Zusammen,<BR><BR><BR>" _
& "anbei das aktuelle </Font><font size=4 color=red name=Arial>Outbound-Reporting</Font> <font size=4 color=black name=Arial>inkl. aller Kundenreaktionen im Anhang.<BR><BR><BR>" _
& "<B>Sollten sich Rückfragen zu dem Thema ergeben, gerne melden. </B><BR><BR>" _
& olOldbody
.Display
'.Send 'Damit wir die E-Mail sofort versendet
' Kill strPDF
End With
'** Objektvariablen wieder löschen
Set OutlookApp = Nothing
Set strEmail = Nothing
End With
End Sub