Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Mehrer Tabellen blätter als PDF im Mail

Mehrer Tabellen blätter als PDF im Mail
09.11.2022 11:17:20
Daniela
Guten Tag zusammen,
Ich möchte zwei unterschiedliche Tabellen blätter (in der gleichen Exceltabelle) als PDF mit dem folgenden Makro ins Outlook einbinden.
Leider geht es mit dem jetzigen Makro nur mit dem aktuellen Excel-Blatt. Was muss ich ändern um noch ein zweites mit einzubeziehen?

Sub PDF_MailVB()
Dim rng As Excel.Range
Dim strMail As String
With Worksheets("Bestaetigung").Columns("B")
Set rng = .Find("x", , xlValues, xlWhole, xlByColumns, MatchCase:=False)
If Not rng Is Nothing Then
strMail = rng.Offset(0, 1).Value
Dim Name As String
Dim Datei As String
' PDF speichern mit individuellem Namen (Name + Datum)
Datei = "Bestätigung _" & Mid(Date, 1, 2) & Mid(Date, 4, 2) & Mid(Date, 9, 2) & _
"_" & Mid(Time, 1, 2) & Mid(Time, 4, 2) & Mid(Time, 7, 2) & ".pdf"
Name = ActiveWorkbook.Path + "\" + Datei
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
Name, Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
' Diese Datei als Mail senden per Outlook
Dim olApp As Object
Set olApp = CreateObject("Outlook.Application")
With olApp.CreateItem(0)
'Empfänger
Dim Empfänger As String, Betreff As String
Dim OutApp As Object, Mail As Object, i
Dim ClpObj As DataObject
Dim Nachricht
Empfänger = strMail
Betreff = "Info"
Set ClpObj = New DataObject
Set OutApp = CreateObject("Outlook.Application")
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = Empfänger
.Subject = Betreff
'Betreff
.Subject = "Bestätigung" & Date & " um " & Time
'Nachricht
.Body = "text," & vbCrLf & _
"vielen Dank….." & vbCrLf & _
"Mit freundlichen Grüssen" & vbCrLf & vbCrLf & _
& vbCrLf & _
"Sinceramente vostri"
'Lesebestätigung aus
.ReadReceiptRequested = False
'Dateianhang
.Attachments.Add Name
.Display
End With
Set OutApp = Nothing
Set Nachricht = Nothing
End With
End If
End With
End Sub
Vielen Dank für eure Inputs.
lg Daniela
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrer Tabellen blätter als PDF im Mail
09.11.2022 11:44:41
peterk
Hallo

Sheets(Array("Name1", "Name2")).Select    ' hier kommen die Tabellennamen rein
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
Peter
AW: Mehrer Tabellen blätter als PDF im Mail
09.11.2022 12:53:34
Daniela
Hallo Peter
Vielen Dank, das klappt sehr gut. Was muss ich noch umschreiben wenn ich einzel PDF (von den zweien) und nicht beide in einem integriere?
Anzeige
AW: Mehrer Tabellen blätter als PDF im Mail
09.11.2022 13:13:47
peterk
Hallo

Worksheets("Name1").ExportAsFixedFormat Type:=xlTypePDF, Filename:=Name1 ....
Worksheets("Name2").ExportAsFixedFormat Type:=xlTypePDF, Filename:=Name2 ....
.Attachments.Add Name1
.Attachments.Add Name2
Peter
AW: Mehrer Tabellen blätter als PDF im Mail
09.11.2022 15:09:41
Daniela
Danke Peter,
und das setze ich bei Sheets(Array.... ein?
Anzeige
AW: Mehrer Tabellen blätter als PDF im Mail
10.11.2022 08:04:55
peterk
Hallo
Nein , das ersetzt mein vorherigen Vorschlag
Peter
AW: Mehrer Tabellen blätter als PDF im Mail
10.11.2022 10:39:16
Daniela
Guten Tag Peter,
Irgend wie klappt das noch nicht ganz.

Worksheets("Testpdf1").ExportAsFixedFormat Type:=xlTypePDF, Filename:="Testpdf1"
Worksheets("Testpdf5").ExportAsFixedFormat Type:=xlTypePDF, Filename:="Testpdf5"
.Attachments.Add Name1
.Attachments.Add Name2

Anzeige
AW: Mehrer Tabellen blätter als PDF im Mail
10.11.2022 11:17:09
peterk
Hallo
Sollte in etwa so aussehen:

Sub PDF_MailVB()
Dim rng As Excel.Range
Dim strMail As String
With Worksheets("Bestaetigung").Columns("B")
Set rng = .Find("x", , xlValues, xlWhole, xlByColumns, MatchCase:=False)
If Not rng Is Nothing Then
strMail = rng.Offset(0, 1).Value
Dim Name As String
Dim Datei As String
' 1. PDF speichern mit individuellem Namen (Name + Datum)
Datei = "Bestätigung _" & Mid(Date, 1, 2) & Mid(Date, 4, 2) & Mid(Date, 9, 2) & _
"_" & Mid(Time, 1, 2) & Mid(Time, 4, 2) & Mid(Time, 7, 2) & ".pdf"
Name1 = ActiveWorkbook.Path + "\" + Datei
' 2. PDF speichern mit individuellem Namen (Name + Datum) !!!anpassen!!!!
Datei = "Zusatzinfo _" & Mid(Date, 1, 2) & Mid(Date, 4, 2) & Mid(Date, 9, 2) & _
"_" & Mid(Time, 1, 2) & Mid(Time, 4, 2) & Mid(Time, 7, 2) & ".pdf"
Name2 = ActiveWorkbook.Path + "\" + Datei
' anpassen!!!
Worksheets("Bestaetigung").ExportAsFixedFormat Type:=xlTypePDF, Filename:=Name1, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
' anpassen!!!
Worksheets("Zusatzinfo").ExportAsFixedFormat Type:=xlTypePDF, Filename:=Name2, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
' Diese Datei als Mail senden per Outlook
Dim olApp As Object
Set olApp = CreateObject("Outlook.Application")
With olApp.CreateItem(0)
'Empfänger
Dim Empfänger As String, Betreff As String
Dim OutApp As Object, Mail As Object, i
Dim ClpObj As DataObject
Dim Nachricht
Empfänger = strMail
Betreff = "Info"
Set ClpObj = New DataObject
Set OutApp = CreateObject("Outlook.Application")
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = Empfänger
.Subject = Betreff
'Betreff
.Subject = "Bestätigung" & Date & " um " & Time
'Nachricht
.Body = "text," & vbCrLf & _
"vielen Dank….." & vbCrLf & _
"Mit freundlichen Grüssen" & vbCrLf & vbCrLf & _
"Sinceramente vostri"
'Lesebestätigung aus
.ReadReceiptRequested = False
'Dateianhang
.Attachments.Add Name1
.Attachments.Add Name2
.Display
End With
Set OutApp = Nothing
Set Nachricht = Nothing
End With
End If
End With
End Sub
Peter
Anzeige
AW: Mehrer Tabellen blätter als PDF im Mail
10.11.2022 12:46:25
Daniela
Hallo Peter
Vielen lieben Dank! Jetzt funktioniert alles perfekt. Da hätte ich noch lange "basteln und pröbeln" können.
lg Daniela
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige