ich habe in den letzten Wochen immer wieder versucht ein Problem zu lösen und vermute das ich eine falsche Rangehensweise hatte. Nun möchte ich euch mein Ergebnis Schildern und hoffe auf eure bisher immer sehr hilfreichen Lösungen.
Ich schreibe Täglich ein Protokoll für meinen Chef und den Kunden.
Ich habe mir hierfür diverse Makros gebastelt:
Das ausführende Makro (Funktioniert)
Sub Start_Makro_Drucken_Speichern()
Speichern_unter_Kunde
Speichern_unter_Chef
Bericht_Drucken
End Sub
Drucken Makro (Funktioniert)Sub Bericht_ Drucken ()
With Sheets("Dienstbericht")
ActiveSheet.PageSetup.PrintArea = "$JR$54:$KZ$99"
ActiveSheet.PrintOut
ActiveSheet.PageSetup.PrintArea = False
End With
End Sub
Speichern Unter PDF Makro (Funktioniert nicht)
Sub Speichern_unter_Chef()
Dim Speichern_Unter
Dim Pfad As String
Pfad = Sheets("Dienstbericht").Range("JR8")
If Dir(Pfad, vbDirectory) = "" Then MkDir Pfad
With Sheets("Dienstbericht")
.PageSetup.PrintArea = "$JR$54:$KZ$99"
Speichern_Unter = Application.GetSaveAsFilename _
(InitialFileName:=Pfad & .Range("JR9") & ".pdf", fileFilter:="PDF, *.pdf")
If Speichern_Unter "" And Speichern_Unter False Then
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Speichern_Unter
Else
MsgBox "Nichts gespeichert"
End If
End With
End Sub
Mein Ziel ist es das ein Makro einen Speichervorgang vollständig mit Pfad und Dateinamen aus Zelle abspeichert. - Dateiformat ist immer PDF
- Dateiname bereits vorhanden! Überschreiben (Yes/No)
- Speichern Unter Abfrage ist nicht nötig.
- Abfrage hat ob das Pdf angezeigt werden soll (Yes/No)
- Pfad aus Zelle JR8
- Dateiname aus Zelle JR9
Beim Zweiten Speichervorgang ist die Abfrage dann nicht mehr nötig da es immer doppelt gespeichert wird, nur mit anderem Pfad.
- Pfad aus Zelle JS8
- Dateiname bleibt der selbe aus Zelle JR9
Wenn es Möglich ist die Speichervorgänge und das Drucken in ein Makro zu vereinen wäre das noch besser ist aber nicht Zwingend Notwendig.
Ich danke euch schon jetzt für eure Zeit und Gedanken!
Beste Grüße
Tino