Mit Müh und Not hab ich mir folgenden Code zusammen gebastelt.
Private Sub CommandButton3_Click()
Dim X As Variant
X = Shell("C:\Steuern\PDF_in_try.bat", vbHide)
ActiveSheet.PageSetup.PrintArea = "$C$4:$AF$35"
ActiveSheet.PageSetup.PrintArea = ""
savPrinter = ActivePrinter
ActivePrinter = "PDF auf Ne00:"
ActiveSheet.PrintOut
ActivePrinter = savPrinter
Dim Y As Variant
Y = Shell("C:\Steuern\PDF_kill.bat", vbHide)
Application.DisplayAlerts = False
If ActiveSheetname = "Steuer_start.xls" Then
ActiveSheet.SaveAs Filename:="C:\Steuern\Aktuell\ " & Format(Date, "MMMM_YYYY") & ".xls"
Else: ActiveSheet.SaveAs Filename:="C:\Steuern\Alt\ "
End If
Application.DisplayAlerts = True
Dim objWSH As Object
Set objWSH = CreateObject("WScript.Shell")
objWSH.Popup "Das Programm beendet sich in wenigen Sekunden automatisch!", 2, "Information"
Set objWSH = Nothing
Application.Quit
Funktioniert an sich auch super.
Ein Fehler ist aber noch drinne, den ich nicht herausbekomme.
Und zwar:
If ActiveSheetname = "Steuer_start.xls" Then
ActiveSheet.SaveAs Filename:="C:\Steuern\Aktuell\ " & Format(Date, "MMMM_YYYY") & ".xls"
Else: ActiveSheet.SaveAs Filename:="C:\Steuern\Alt\ "
End If
Ich möchte, dass dieser Code folgendes ausfürht:
Wenn das aktuelle Dokument Steuer_start.xls heißt soll er es in
C:\Steuern\Aktuell\
mit folgendem Format
" & Format(Date, "MMMM_YYYY") & ".xls"
speichern.
Ansonsten soll er das (bereits vorhandene Dokument) in
C:\Steuern\Alt\
mit dem bereits vorhandenen Namen überschreiben.
Hintergrund / gewünschter Programmablauf
Ich starte meine "Excel-Steuer-Start-Datei", trage Daten ein und speichere.
Nun wird in
C:\Steuern\Aktuell\
gespeichert.
In der "Excel-Steuer-Start-Datei" gibt es aber auch einen Button um alte Dateien auf zu rufen, _
um sie evtl. bearbeiten zu können. Ist eine Solche alte Datei aufgerufen soll sie aber nicht in
C:\Steuern\Aktuell\
speichern sondern sich selbst in
C:\Steuern\Alt\
aktualisieren/überschreiben.
Kann mir da bitte wer helfen? Ich hab leider nicht genug VBA Wissen um das Problem selber zu lösen.
Ich danke euch schon einmal
Gruß Stephan