Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1868to1872
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

PDF aus Excel erstellen und an Verteiler

PDF aus Excel erstellen und an Verteiler
01.02.2022 16:11:39
Markus
Hallo zusammen,
ich hänge in einem Code fest.
Ich habe ein Exceltabellenblatt, das ich in BCC an einen Verteiler per VBA versenden möchte. Die Verteileradressen habe ich ausserhalb vom Druckbereich in den Zellen Z5 bis aktuell zum Test Z6 stehen.
Folgenden Code habe ich zum ersten Test verwendet. und dieser hatte mit einer Maiadresse in BCC funktioniert:
'BCC-Adressen: keine. Hier kannst du weitere eintragen, direkt oder als Zellreferenz
MailBC = ActiveSheet.Range("Z5").Value
Nun möchte ich aber einen kleinen Verteiler (variable an Anzahl Adressen) anlegen. Wenn ich Mailadressen z. B. im Bereich Z5-Z25 habe, wie bringe ich das in den Code?
Schon mal vielen lieben Dank für die Hilfe.
Grüße aus dem Schwarzwald
Markus

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: PDF aus Excel erstellen und an Verteiler
01.02.2022 16:36:24
Rudi
Hallo,
MailBC = Join(Application.Transpose(Application.Transpose(Range("Z5:Z25")));";")
Gruß
Rudi
AW: PDF aus Excel erstellen und an Verteiler
01.02.2022 19:22:09
Markus
Hallo Rudi,
vielen Dank für deinen Lösungsansatz, leider kommt hier folgender Fehler:
Fehler beim kompilieren: Syntaxfehler.
Hier mal der komplette Code
*********
Option Explicit
Const MyPath As String = "C:\temp\" 'Hier den Pfad anpassen, unter dem du die PDFs _
speichern willst!
Sub SendSheetAsPDF()
Dim MailTo As String
Dim MailBC As String
Dim MailSubject As String
Dim MailText As String
'Email Adresse aus f14 auslesen
MailTo = ""
'BCC-Adressen: keine. Hier kannst du weitere eintragen, direkt oder als Zellreferenz
MailBC = Join(Application.Transpose(Application.Transpose(Range("Z5:Z6")));";")
'Betreff: Workbook-Name und Datum
MailSubject = ActiveSheet.Name & " " & Format(Date, "DD.MM.YYYY")
'Standardtext, im Maildisplay noch änderbar
MailText = "Sehr geehrte Damen und Herren, (br) anbei blalala" 'HTML! die (br) gegen HTML-Zeilenumbruch _
tauschen
Call SendSheetOutlook(MailSubject, MailTo, MailBC, MailText)
End Sub '***************************************************************************
'Makro to send Excel-Sheet directly with outlook
'April 2013 by Klaus M.vdT.
'MODIFIED June 2013: Send pdf, not xlsx!
'original Code by mumpel / www.herber.de / 11.04.2013 11:23:25
'http://www.herber.de/forum/messages/1308295.html
'***************************************************************************

Private Sub SendSheetOutlook(sSubject As String, sTo As String, sBC As String, sText As String)
Dim olApp         As Object
Dim AWS           As String
Dim olOldBody     As String
'define temporary Path and Filename
AWS = MyPath & "\" & ActiveSheet.Name & "_" & Format(Date, "DDMMYYYY")
'export File as PDF
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=AWS, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
AWS = AWS & ".pdf"
'Make Email
Set olApp = CreateObject("Outlook.Application")
With olApp.CreateItem(0)
.GetInspector.Display
olOldBody = .htmlBody
.To = sTo
.bcc = sBC
.Subject = sSubject
.htmlBody = sText & olOldBody
.Attachments.Add AWS
End With
'remove TEMP file
'wenn du das PDF behalten möchtest, diese Zeile auskommentieren!
'sonst wird das temporäre PDF wieder gelöscht
'Kill AWS
End Sub
*********
Siehst du dann vielleicht den Fehler besser?
Ich verzweifle.
Gruß
Markus
Anzeige
AW: PDF aus Excel erstellen und an Verteiler
01.02.2022 19:29:06
Rudi
MailBC = Join(Application.Transpose(Application.Transpose(Range("Z5:Z6"))), ";")
AW: PDF aus Excel erstellen und an Verteiler
01.02.2022 19:51:50
Markus
Hallo Rudi,
und wieder Danke für deinen Code. Leider kommt immer noch eine Fehlermeldung:
Laufzeitfehler '5':
Ungültiger Prozeduraufruf oder ungültiges Argumment
Gruß
Markus
1 Transpose zu viel :-(
01.02.2022 20:38:06
Rudi
MailBC = Join(Application.Transpose(Range("Z5:Z6")), ";")
AW: 1 Transpose zu viel :-( -> gelöst
02.02.2022 07:40:09
Markus
Guten Morgen Rudi,
herzlichen Dank. Es funktioniert nun einwandfrei.
Gruß
Markus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige