Ich arbeite mit BeforeSave, siehe unten. Drückt man nun in Excel auf "Datei", dann "Speichern unter", "Dieser PC" kann man ja Verzeichnisse auswählen, in denen man schon mal war.
Jetzt öffne ich eine Datei, die schon existiert.
Im BeforeSave fange ich das von Excel getriggerte Speichern ab:
Private Sub xlApp_WorkbookBeforeSave(ByVal wb As Excel.Workbook, ByVal SaveAsUI As Boolean, Cancel As Boolean)
...
wb.Application.Dialogs(xlDialogSaveAs).Show
wb.SaveAs ...
Da sind noch ein paar IFs drum aber von der Idee her ist das genau so. Das Problem ist nun, dass das
wb.Application.Dialogs(xlDialogSaveAs).Show
den zuvor ausgewählten Ordner NICHT verwendet. Es wird immer der Ordner der aktuellen Datei eingesetzt.
Stellt Euch vor die Datei liegt in C:\Temp
Ich öffne die Datei.
Ich wähle "Datei", dann "Speichern unter", "Dieser PC", "C:\NeuerOrdner" (wird mir in der Liste angezeigt).
Jetzt geht der Dialog auf. Aber da steht nicht C:\NeuerOrdner, sondern C:\Temp
Hat jemand eine Idee, wo ich den Ordner "C:\Temp", den ich ja ausgewählt habe, lesen kann und wie ich den dann in den xlDialogSaveAs Dialog reinbekomme? Schon ein komisches Problem.
Der User ist halt verwirrt, weil er ja denkt, er hätte C:\NeuerOrdner gewählt...
Im Voraus vielen Dank! :)
Norman