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

Eine Datei als Excel und Pdf mit Outlook

Eine Datei als Excel und Pdf mit Outlook
29.01.2015 15:14:47
Alex
Hallo Liebe Leute, ich habe einen Code geschrieben der aus verschiedenen Daten ein Excel Sheet exportiert. Dieses wird automatisch per Mail verschickt. Dazu verwende ich:
Public Sub ExtendMail()
xyz= "TYPE " & Range("Name").value
' hier wird von

Public Sub der Export geholt
Application.Dialogs(xlDialogSendMail).Show Arg2:=xyz
End Sub
Das funktiert auch wunderbar. Jetzt öffnet sich ein Outlook Fenster mit dem Excel im Anhang. Mein Wunsch wäre es jetzt die gleiche Datei die schon im Anhang ist automatisch als PDF anzuhängen. Bisher habe ich keine Infos gefunden ob das auch mit xlDialogSendMail gehen würde. Ich habe zwar einen Code mit dem ich das Exportierte File als PDF verschicken kann, allerdings müsste ich dann zwei Mails schicken.
Dazu habe ich diesen Code verwendet:
http://www.excel-inside.de/vba-loesungen/drucken/830-pdf-per-vba-erzeugen
01.Sub e_Mail()
02.
03.'** Dimensionierung der Variablen
04.Dim strPDF As String
05.Dim OutlookApp As Object, strEmail As Object
06.
07.'** Vorgaben definieren
08.Set OutlookApp = CreateObject("Outlook.Application")
09.Set strEmail = OutlookApp.CreateItem(0)
10.
11.'** PDF erzeugen
12.ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
13.ThisWorkbook.Path & "\Excel-File.pdf", Quality:=xlQualityStandard _
14., IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish _
15.:=False
16.
17.'** E-Mail versenden
18.strPDF = ThisWorkbook.Path & "\Excel-File.pdf"
19.With strEmail
20..To = "name@domain.tld"
30..Subject = "PDF als Anlage" 'Betreffzeile
31..body = "Als Anlage die PDF-Datei"
32..Attachments.Add strPDF
33..Display
34.'.Send 'Damit wir die E-Mail sofort versendet
35.Kill strPDF
36.End With
37.
38.'** Objektvariablen wieder löschen
39.Set OutlookApp = Nothing
40.Set strEmail = Nothing
41.End Sub

Kennt jemand eine elegante Lösung um den ersten Code weiter zu verwenden und trotzdem das PDF anzuhängen?

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eine Datei als Excel und Pdf mit Outlook
29.01.2015 15:18:07
Alex
sorry....Format ist nicht ganz optimal

AW: Eine Datei als Excel und Pdf mit Outlook
29.01.2015 16:08:52
Tino
Hallo,
in deiner Version kannst Du Tabellen als PDF speichern.
Einfach den makrorekorter anschmeißen.
Gruß Tino

AW: Eine Datei als Excel und Pdf mit Outlook
29.01.2015 16:25:37
Alex
Danke Tino,
kann ich dann
Application.Dialogs(xlDialogSendMail).Show Arg2:=xyz
weiter verwenden? wie fühge ich denn 2 anhänge damit hinzu?

AW: Eine Datei als Excel und Pdf mit Outlook
29.01.2015 17:06:01
Luschi
Hallo Alex,
da M$ es nicht nötig hat, in der verkrüppelten Online-Vba-Hilfe die Parameter für die
eingebauten Dialoge aufzuführen und zu erklären, habe ich mal ein bischen gegoogelt:

Dim strRecipient As String: strRecipient = "support@codevba.com"
Dim strSubject As String: strSubject = "Latest data in attached file"
Dim booReturnReceipt As Boolean: booReturnReceipt = True
Application.Dialogs(xlDialogSendMail).Show Arg1:=strRecipient, Arg2:=strSubject, Arg3:=booReturnReceipt
Demnach gibt diese 3 Parameter für:
EMail-Adresse, Betreffzeile und Rückantwortbestätigung
Und das ist total schwach, auch in Excel-2013. Als Dateianhang fungiert automatisch die aktuelle Arbeitsmappe mit allen Blättern und dem Vba-Code. Für moch totol unbrauchbar.
Gruß von Luschi
aus klein-Paris

Anzeige
AW: Eine Datei als Excel und Pdf mit Outlook
30.01.2015 09:23:08
Alex
Danke Lushi, Hast du eine Idee wie man elegant ein Tab aus einem Excel Sheet als PDF und Excel als Email verschicken kann? Ich fand den xlDialogSendMail halt sehr praktisch weil man nur eine Linie als Code hat.

AW: Eine Datei als Excel und Pdf mit Outlook
30.01.2015 10:57:12
mumpel
Hallo!
Du könntest zuerst beide Dateien in ein ZIP-Archiv packen und dann dieses ZIP-Archiv per Kommandozeilen-Anweisung senden. Wenn Du mehr möchtest bleibt nur Outlook mit der entsprechenden Programmierung.
Gruß, René

AW: Eine Datei als Excel und Pdf mit Outlook
30.01.2015 11:49:06
Alex
Hi Rene, zip darf ich leider nicht verwenden. muss excel und pdf sein. mein problem ist, wenn ich das excel per vba anhängen lasse ist das outlook fenster offen und aktiv und ich kann excel nicht mehr sagen dass erzück gehen soll weil er ja dann das outlook fenster schliesst. hat jemand shcon einmal ein ähnliches problem umgangen?

Anzeige
AW: Eine Datei als Excel und Pdf mit Outlook
31.01.2015 14:16:44
mumpel
Weshalb zurück zu Excel bevor Du die Mail gesendet hast? Du kannst per VBA zwei Anhänge einfügen, dazu die Anweisung/Zeile ".Attachments.Add" zweimal setzen, jeweils mit dem entsprechenden Pfad.
Option Explicit

Public Sub SendAsPdfAndXLSAttach()
Dim olApp As Object
Dim strPath As String
Dim strPDF As String
Dim strXLSX As String

strPath = Environ("USERPROFILE") & "\Desktop\"
strPDF = "Test.pdf"
strXLSX = "Test.xlsx"


ThisWorkbook.Sheets("Tabelle1").ExportAsFixedFormat Type:=xlTypePDF, Filename:=strPath & strPDF, _
                                Quality:=xlQualityStandard, IncludeDocProperties:=True, _
                                IgnorePrintAreas:=False, OpenAfterPublish:=False
                                

ActiveSheet.Copy

With ActiveWorkbook
    .SaveAs Filename:=strPath & strXLSX, FileFormat:=xlOpenXMLWorkbook
    .Close
End With

Set olApp = CreateObject("Outlook.Application")
    With olApp.CreateItem(0)
              .To = "test@test.de"
              .Subject = "Test"
              .htmlBody = "Hallo,<br><br>nur ein Test.<br><br>Gruß, Max"
              .Attachments.Add strPath & strPDF
              .Attachments.Add strPath & strXLSX
              .Display
   End With
   
Kill strPath & strPDF
Kill strPath & strXLSX
End Sub

VBA/HTML - CodeConverter für Office-Foren, AddIn für Excel/Word 2002-2013 - komplett in VBA geschrieben von Lukas Mosimann. Projektbetreuung durch mumpel

Code erstellt und getestet in Office 15 - mit VBAHTML 12.6.0


Anzeige
AW: Eine Datei als Excel und Pdf mit Outlook
31.01.2015 14:36:54
mumpel
Nachtrag:
Mit welchem besch... eidenen Tool hast Du Deinen Beispielcode hier eingefügt? Sieht hässlich aus (nicht eingerückt, Zeilennummern davorgequetscht etc.), da muss man ja ewig hin und her scrollen um den Beitrag lesen zu können.

AW: Eine Datei als Excel und Pdf mit Outlook
03.02.2015 19:01:28
Alex
sorry, hatte eig kein tool verwendet sondern nur copy paste gemacht. weiss auch nicht was da los ist. danke für deinen code, werde ihn morgen testen. Hatte bisher die Datei einfach nicht gespeichert sondern das offene Excel sheet danach gelöscht.

AW: Eine Datei als Excel und Pdf mit Outlook
03.02.2015 19:03:02
Alex
Nachtrag: Das Problem ist eben die Datei heisst jedes mal anders, deswegen ist das mit dem Pfad so ne sache. Dann müsste ich wohl erst einen code schreiben der mit das file mit variablen namen speichert und dann einen code der den variablen namen wieder anhängt.

Anzeige
AW: Eine Datei als Excel und Pdf mit Outlook
03.02.2015 19:34:36
mumpel
Das ist nicht das Problem.
Option Explicit

Public Sub SendAsPdfAndXLSAttach()
Dim olApp     As Object
Dim strPath   As String
Dim strPDF    As String
Dim strXLSX   As String

strPath = ActiveWorkbook.Path & "\"
strPDF = Left(ActiveWorkbook.Name, InStr(1, ActiveWorkbook.Name, ".") - 1) & ".pdf"
strXLSX = Left(ActiveWorkbook.Name, InStr(1, ActiveWorkbook.Name, ".") - 1) & ".xlsx"

With ThisWorkbook.Sheets("Tabelle1")
    .ExportAsFixedFormat Type:=xlTypePDF, Filename:=strPath & strPDF, _
                         Quality:=xlQualityStandard, IncludeDocProperties:=True, _
                         IgnorePrintAreas:=False, OpenAfterPublish:=False
    .Copy
End With

With ActiveWorkbook
    .SaveAs Filename:=strPath & strXLSX, FileFormat:=xlOpenXMLWorkbook
    .Close
End With

Set olApp = CreateObject("Outlook.Application")
    With olApp.CreateItem(0)
              .To = "test@test.de"
              .Subject = "Test"
              .htmlBody = "Hallo,<br><br>nur ein Test.<br><br>Gruß, Max"
              .Attachments.Add strPath & strPDF 'PDF-Datei anhängen 
              .Attachments.Add strPath & strXLSX 'Aktive Arbeitsmappe anhängen 
              .Display
    End With
   
Kill strPath & strPDF
Kill strPath & strXLSX
End Sub

VBA/HTML - CodeConverter für Office-Foren, AddIn für Office 2002-2013 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:mumpel

Code erstellt und getestet in Office 15 - mit VBAHTML 12.6.0


Anzeige
AW: Eine Datei als Excel und Pdf mit Outlook
04.02.2015 16:20:50
Alex
Hallo Max, super, funktioniert schon grössten Teils. Weisst du zufällig, ob man die datei und den Betreff auch wie das TAB nennen kann anstelle des Worksheets?

AW: Eine Datei als Excel und Pdf mit Outlook
04.02.2015 17:47:03
mumpel
Was meinst Du mit "Tab"?

315 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige