VBA Hilfe
20.02.2023 12:43:17
sam
brauche dringen Hilfe bei folgendem VBA .
Das hat mal bei einem Projekt funktioniert, jetzt leider aber nicht.
Das Register wo die VBA in Aktion treten soll, ist das Register "Outbound", diese Excelseite soll von Spalte A bis T in der Email als Anhang generiert werden ,
das heisst der Anhang muss immer alle Zeilen enthalten die gefüllt sind, da eine Tabellle die sich mit der Zeit weiter Füllen wird !
Zudem soll eine PDF generiert werden über die gesamte "Outbound"tabelle jedoch in PDF.
Kann mir jemand mit dem Code helfen?! Bzw. einen neuen Code zur Verfügung stellen wenn dieser nicht zu gebrauchen ist ..
Sub UATEmailReportingexcelundpdfHTmLAuto()
'** 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 & "\UserAcceptanceTestReport.pdf", Quality:=xlQualityStandard _
, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish _
:=False
'** Excel erzeugen
ThisWorkbook.Sheets(Array("Outbound")).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 = " Hallo Zusammen,
" _
& "anbei das aktuelle Outbound-Reporting inkl. aller Kundenreaktionen im Anhang.
" _
& "Sollten sich Rückfragen zu dem Thema ergeben, gerne melden.
" _
& 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