Liebe/-r Experte/-in,
ich habe da ein kleines Problem mit der Programmierung. Leider konnte ich im Netz nichts dazu finden.
Ich möchte eine von mir generierte PDF-Datei als Anhang einer Mail verschicken. Bei meiner bisherigen Programmierung ist das auch kein Problem, da die Datei nicht verschoben wird.
In Zukunft soll die Datei allerdings beim Speichern verschoben werden, wobei sich natürlich der Dateipfad ändert.
Wie kann ich jetzt das Problem lösen??
Danke schon mal vorab!!
Hier mein Auszug:
Dim datnam As String
Dim actWB As String
Dim Pfad As String
Dim objOutlook As Object
Dim objMail As Object
Pfad = „C:\Users\SUNS-Fölsch\Desktop“ 'oder wo auch immer
actWB = ActiveWorkbook.Name
'Arbeitsblatt als neues Blatt speichern und dieses als .pdf drucken
'dann hat das .pdf den Namen des Sheets
datnam = ActiveSheet.Name
Sheets(datnam).Copy
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=Pfad & datnam & „.xls“
Application.DisplayAlerts = True
Workbooks(datnam & „.xls“).Activate
ActiveSheet.UsedRange.Select
Selection.PrintOut ActivePrinter:=„FreePDF XP“, Copies:=1, Collate:=True, Preview:=False
Application.Wait (Now + TimeValue(„00:00:02“)) 'Warten auf Bearbeitung
SendKeys „{Enter}“
SendKeys „{NUMLOCK}“
Workbooks(actWB).Activate
Workbooks(datnam & „.xls“).Close SaveChanges:=True
'Spuren beseitigen - löscht das erstellte Arbeitsblatt
Kill Pfad & datnam & „.xls“
Application.Wait (Now + TimeValue(„00:00:02“))
'generiertes pdf als eMail per Anhang versenden:
Set objOutlook = CreateObject(„Outlook.Application“)
Set objMail = objOutlook.CreateItem(0)
With objMail
'Adressen:
.To = „“
'.CC = (optional
'.BCC = (optional)
'Nachricht:
.Subject = „Reklamation zu LS“ & Chr(32) & Worksheets(1).Range(„E4“)
.Body = „Moin,“ & vbCrLf & vbCrLf & „anbei die Fehlermeldung zu LS“ & Chr(32) & Worksheets(1).Range(„E4“) & Chr(32) & „bearbeitet zurück.“
'Anhang:
.Attachments.Add Pfad & datnam & „.pdf“
'Abschicken: (optional)
'.ReadReceiptRequested = False [keine Lesebestätigung]
'.Send
End With
'nur Anzeigen
objMail.Display
Set objMail = Nothing
Set objOutlook = Nothing