Microsoft Excel

Herbers Excel/VBA-Archiv

Excel Tabelle direkt per Outlook versenden


Betrifft: Excel Tabelle direkt per Outlook versenden von: PeteK
Geschrieben am: 04.07.2018 15:27:22

Hallo zusammen,

ich würde gerne eine Exel Tabelle direkt als PDF speichern mit dem Dateiname aus Zelle Z18 und diese Datei soll dann direkt in Outlook geöffnet werden, mit den Empfängern aus Z15.
Habe es schon soweit hinbekommen das mir die Datei in en Zielordner abgelegt wird und Outlook geöffnet wird sofern ich einen festen Dateinamen vergebe.

Problem ist nun das der Dateiname sich stets verändert und Outlook somit auf die letzt gespeicherte Datei zugreifen soll. Könnte mich hierbei jemand unterstützen?





Sub PDFundSenden()
    Range("Z18").Select
    ChDir "K:\100_DE_After_Sales\280_Sales_Consultant\600_Umsatzreport_"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Range("Z18") _
    

Dim Outlook As Object
Dim OutlookMailItem As Object
Dim myAttachments As Object

Set OutlookApp = CreateObject("outlook.application")
Set OutlookMailItem = OutlookApp.CreateItem(0)
Set myAttachments = OutlookMailItem.Attachments

With OutlookMailItem
.to = Range("Z15")
.Subject = Range("Z16")
.Body = "xx"
myAttchements.Add "K:\100_DE_After_Sales\280_Sales_Consultant\600_Umsatzreport\"

'.send
.Display

End With

Set OutlookApp = Nothing
Set OutlookMailItem = Nothing

End 




Sub 


  

Betrifft: AW: Excel Tabelle direkt per Outlook versenden von: Torsten
Geschrieben am: 04.07.2018 16:52:35

Hallo PeteK,

hab mal deinen Code etwas umgebastelt. Nach einigem Probieren laeufts bei mir auch.
Ehrlich bin ich auch nicht DER Experte. man kanns vielleicht auch eleganter loesen.
Probiers mal aus.

Sub PDFundSenden()

    Range("Z18").Select
    ChDir "K:\100_DE_After_Sales\280_Sales_Consultant\600_Umsatzreport_"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Range("Z18") _

Const strPath As String = "K:\100_DE_After_Sales\280_Sales_Consultant\600_Umsatzreport\"
Dim strFile As String, strFile2Open As String, dteFile As Date, dteLast As Date
  strFile = Dir$(strPath & "*.pdf")   'Extension anpassen

  If strFile <> "" Then
    Do
      dteFile = FileDateTime(strPath & strFile)
      If dteFile > dteLast Then
        strFile2Open = strFile
        dteLast = dteFile
      End If
      strFile = Dir$
    Loop Until strFile = ""
  End If


Const strEmpfänger As String = Range("Z15")

Dim Email As Object, OutApp As Object

Set OutApp = CreateObject("Outlook.Application")
Set Email = OutApp.CreateItem(0)
  With Email
    .to = strEmpfänger
    .Subject = Range("Z16")
    .Body = "xx"
    .Attachments.Add strPath & strFile2Open
    '.send
    .Display
  End With
Set Email = Nothing

End Sub




  

Betrifft: AW: Excel Tabelle direkt per Outlook versenden von: Uduuh
Geschrieben am: 04.07.2018 20:40:34

Hallo,

Sub PDFundSenden()
  Dim OutlookAPP As Object
  Dim OutlookMailItem As Object
  Dim strPDF As String
  Const strPath As String = "K:\100_DE_After_Sales\280_Sales_Consultant\600_Umsatzreport_\"
  strPDF = strPath & Range("Z18")
  ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strPDF
  
  Set OutlookAPP = CreateObject("outlook.application")
  Set OutlookMailItem = OutlookAPP.CreateItem(0)
  
  With OutlookMailItem
    .to = Range("Z15")
    .Subject = Range("Z16")
    .Body = "xx"
    .Attchements.Add strPDF
    '.send
    .Display
    
  End With
  
  Set OutlookAPP = Nothing
  Set OutlookMailItem = Nothing
  
End Sub

Gruß aus’m Pott
Udo



Beiträge aus dem Excel-Forum zum Thema "Excel Tabelle direkt per Outlook versenden"