Excel 2016 - "speichern unter" vor Workbook_BeforeSave
21.01.2020 11:17:01
Michael
Bin zwar neu registriert, aber schon länger auf Lösungssuche hier.
Ein tolles Forum mit professioneller Hilfestellung.
Ich habe ein für mich unlösbares Problem mit Excel 2016.
Eine Vorlagendatei (.xltm) wird aus dem Dateisystem per Doppelklick geöffnet, bearbeitet und soll dann über den normalen Speichern Button unter einem speziell definierten Namen als xlsm-Datei gesichert werden. Ich klicke also auf die kleine Diskette oben links und die "Speichern unter"-Seite in Excel öffnet sich, weil das Workbook eine Vorlage war und somit noch keine Pfad- und Namensangaben vorhanden sind. So weit so gut.
Nun will ich das im Macro abfangen, was sehr gut über die PATH Eigenschaft des Workbook abzufragen ist, denn die ist noch leer. Die einzige Möglichkeit dazu sehe im "Workbook_BeforeSave" Event.
Mein Problem ist, dass Excel 2016 beim Speichern ZUERST die Seite "Speichern unter" aufruft und das "Workbook_BeforeSave" erst ausgeführt wird, wenn dort etwas angeklickt wird.
Ich möchte aber, dass mein Code sofort ausgeführt wird.
Mein (simpler) Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If ThisWorkbook.Path = "" Then (oder "if SaveAsUI = True"?)
SaveTheFileAs
Else
SaveTheFile
End If
End Sub
Wie kann ich verhindern, dass Excel von sich aus entscheidet, "Speichern unter" aufzurufen?
Ich habe versucht, die "SaveAsUI"-Eigenschaft beim Öffnen auf False zu setzen, scheinbar wird sie aber erst beim Klick auf Speichern wirklich gesetzt.