Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1432to1436
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

Verschiedene pdf-Mails per Button versenden

Verschiedene pdf-Mails per Button versenden
03.07.2015 19:55:16
Ines
Hallo,
ich nutze folgende Skript zum Versand des Arbeitsblattes als pdf-Datei:
Sub PDFmail1()
Dim pdfName As String
Dim pdfOpenAfterPublish As Boolean
Dim olApp As Object
pdfName = ThisWorkbook.Path & "\" & ThisWorkbook.Name & "_" & ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfName, _
Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, _
OpenAfterPublish:=IIf(pdfOpenAfterPublish, True, False)
Rem Email erstellen für ARV1
Set olApp = CreateObject("Outlook.Application")
With olApp.CreateItem(0)
.To = "Verkauf@Lieferant.com" 'Lieferantenmail RV 1
.CC = "Einkauf@Firma.com" 'Projektleiter + Einkauf
.BCC = Range("Z2").Value
.Subject = "Abrufbestellung " & Date & Time 'Betreffzeile
.htmlBody = "Hallo, anbei erhalten Sie.... Vielen Dank."
.Attachments.Add pdfName
.Display
SendKeys "%S"
End With
End Sub

Nun folgende Frage: Es gibt bis zu fünf verschiedene Arbeitsblätter, die ggf. an unterschiedliche Empfänger zu mailen sind. Gibt es die Möglichkeit den Versand
per Button in Abhängigkeit, ob jeweils Zelle d17 gefüllt ist je nach Tabellenblattname an verschiedene Mail-Empfänger zu versenden?
Also z.B. Tabelle 1 d7 gefüllt = wahr - pdf-Versand an Empfänger 1
tabelle 2 d7 leer - nix passiert
tabelle 3 d7 gefüllt - pdf Versand an Empfänger 3 usw.
Die Empfänger sind wie in obigem Beispiel fest definiert und immer gleich.
Dann müßte der User nicht alle Blätter durchsuchen und extra versenden, das wäre eine große Hilfe.
Vielen Dank im Voraus für Eure Hilfe
Ines

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verschiedene pdf-Mails per Button versenden
03.07.2015 21:14:56
Raphael
Hallo Ines,
das könnte etwa so aussehen

Sub PDFmail1(Tabelle As Worksheet, Empfaenger As String)
Dim pdfName As String
Dim pdfOpenAfterPublish As Boolean
Dim olApp As Object
pdfName = ThisWorkbook.Path & "\" & ThisWorkbook.Name & "_" & Tabelle.Name & ".pdf"
Tabelle.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfName, _
Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, _
OpenAfterPublish:=IIf(pdfOpenAfterPublish, True, False)
Rem Email erstellen für ARV1
Set olApp = CreateObject("Outlook.Application")
With olApp.CreateItem(0)
.To = Empfaenger  'Lieferantenmail RV 1
.CC = "Einkauf@Firma.com" 'Projektleiter + Einkauf
.BCC = Range("Z2").Value
.Subject = "Abrufbestellung " & Date & Time 'Betreffzeile
.htmlBody = "Hallo, anbei erhalten Sie.... Vielen Dank."
.Attachments.Add pdfName
.send
End With
End Sub
Sub test()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
Select Case ws.Name 'Prüfen des Arbeitsblattnamens
Case "Test"
If ws.Range("D17")  "" Then
Call PDFmail1(ws, "Test@test.ch")
End If
Case "blabla"
If ws.Range("D7") = "" Then
'blabla
End If
End Select
Next ws
End Sub
Gruess
Raphael

Anzeige
AW: Verschiedene pdf-Mails per Button versenden
03.07.2015 22:07:19
Ines
Sorry, das ist mir noch nicht ganz klar. Wo definiere ich hier die Empfänger-Mailadresse?
ws ist das Arbeitsblatt und die Adresse nach call =to?
Muss ich Case "Test"
If ws.Range("D17") "" Then
Call PDFmail1(ws, "Test@test.ch")
End If
Case "blabla"
If ws.Range("D17") = "" Then
'blabla
End If
usw nicht beides für den gleichen Namen und alle Blätte machen? Also oben zweimal Case"Test"?
Ich versuche es gleich mal, danke für die Hilfe.

AW: Verschiedene pdf-Mails per Button versenden
03.07.2015 23:33:16
Raphael
Hallo Ines,
der Code durchsucht deine Arbeitsblätter. Mit der Select-Abrage prüft er den Namen des Arbeitsblattes in welchem er sich gerade befindet.
In den einzelnen Cases legst du dann fest, was genau auf dem Blatt geprüft werden soll. Ich habe gemäss deinem Beispiel einfach nur eine Prüfung auf die Zelle D17 gemacht.
Mit Call PDFmail1(ws,"Emailempfänger; Emailempfänger") kannst du das Mail an eine oder wenn du die Emailadressen mit einem Semikolon trennst auch an mehrere Empfänger senden.
Gruess
Raphael
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige