Die Funktion, ein Sheet in eine PDF zu verwandeln funktioniert. Wenn ich nun aber dieses Sheet kopiere und in einer anderen Datei "Formularrechnung" speichere, dann funktioniert der Email-Versand nicht mehr. Soweit ich es verstanden habe, ist meine Ursprüngliche Datei nicht mehr aktiv und das Programm möchte mit der neuen Datei weiter verfahren.
Nun meine Fragen:
1) Wie setze ich das Programm wieder auf die ursprüngliche Datei?
2) Wie schließe ich die neue Tabelle - es reicht auch, wenn sie nur erstellt wird
3) Wie kann ich die neue Datei von xlsx in xlsm umwandeln?
Sheets("Rechnung1").Select
Range("D10").Select
If ActiveCell.Offset(0, 0) = "" Then
Exit Sub
Else
Sheets("Rechnung1").Copy
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWorkbook.SaveAs ("E:\DATEN\....Rechnungen\" & "Formularrechnung2015-" & Worksheets("Rechnung1").Range("D22") & ".xlsx")
Jetzt müßte die Datei geschlossen werden und als xlsm umbenannt. Direkt als xlsm erstellen ging leider nicht.
End If
Hier müßte mein ursprüngliche Datei angwählt werden
Sheets("Rechnung1").Select
Range("D10").Select
If ActiveCell.Offset(0, 0) = "" Then
Exit Sub
Else
If vntFile False Then
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=vntFile, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End If
Set Mail_Object = CreateObject("Outlook.Application")
With Mail_Object.CreateItem(o)
.Subject = "Bestätigung Ihrer Bestellung und " & Worksheets("Rechnung1").Range("D22")
.To = Sheets("Berechnung").Range("H23")
.Body = Sheets("Rechnung1").Range("A33") & Chr(13) & Chr(13) & "wir bedanken uns für Ihr entgegen gebrachtes Vertrauen und bestätigen mit beiliegender Rechnung Ihre Beauftragung." & Chr(13) & Chr(13) & "Für weitere Fragen stehen wir Ihnen gerne zur Verfügung."
.Attachments.Add ThisWorkbook.Path & "\" & "Rechnung" & Sheets("Berechnung").Range("M4") & ".pdf" '
'.Send
.Display
End With
End If