Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1688to1692
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

BeforeSave und das in Excel 2013 ausgewählte Verz.

BeforeSave und das in Excel 2013 ausgewählte Verz.
03.05.2019 01:24:27
Norman
Hi,
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

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: BeforeSave und das in Excel 2013
03.05.2019 07:25:44
Andrro
Hallo Normen,
als Vorschlag oder Idee. Mit folgenden Befehl wird der Pfad der aktuellen Datei als Aktueller Pfad gesetzt.
ChDir left(activeworkbook.FullName, instrrev(activeworkbook.FullName, "\")-1)
Dann schlägt das Dialogfenster den Ordner der Datei vor.
War es das, was du suchtest?
Gruß AndrRo
AW: BeforeSave und das in Excel 2013 ausgewählte Verz.
03.05.2019 08:13:42
Torsten
Hallo Norman,
benutze den Application.FileDialog(msoFileDialogFilePicker).
Dort kannst du in den Parametern einen Zielpfad vorgeben. Also wenn das Speichern unter Fenster aufgeht, wird der Pfad, den du hier angibst, als Vorschlag schon ausgewaehlt.
Gruss Torsten
Anzeige
AW: BeforeSave und das in Excel 2013 ausgewählte Verz.
03.05.2019 08:20:59
Torsten
sorry, war etwas durcheinander. Das ist zum oeffnen.
Zum Speichern natuerlich Application.GetSaveAsFilename.
Dort kannst du in den Parametern unter "IntitialFilename" den Pfad und wenn du willst auch schon den Dateinamen vorschlagen, der im Dialog dann angezeigt wird.
AW: BeforeSave und das in Excel 2013 ausgewählte Verz.
05.05.2019 10:50:42
Norman
Hi Torsten,
ah, das ist schon mal cool, danke! Jetzt bleibt aber noch die Frage, wo ich den Pfad auslesen kann. Macht doch bitte mal folgendes, damit Ihr seht, was ich meine:
"Datei", dann "Speichern unter", "Dieser PC": Ihr seht jetzt eine Liste an Ordnern. Wenn ich davon einen anklicke: Wo kann ich erkennen, welcher angeklickt wurde?
Viele Grüße
Norman
Anzeige
AW: BeforeSave und das in Excel 2013 ausgewählte Verz.
05.05.2019 13:43:58
Norman
Folgendes ist mir jetzt klar: Die Verzeichnisse stehen in HKCU\Software\Microsoft\Office\13.0\Excel\Place MRU
Ich kriege aber nicht raus, welche gerade selektiert wurde, bevor dann der SaveAs-Dialog aufgeht. Wenn ich das rauskriegen könnte, dann könnte ich den Pfad auch übergeben.
Habe auch schon versucht, die MRU an der Stelle einfach zu löschen, damit keine anderen Ordner angezeigt werden, Excel hat die MRU aber intern gespeichert, sodass es nix bringt, sie zu löschen. Erst beim nächsten Öffnen von Excel ist die MRU weg.
Hoffentlich ist das nicht nur eine interne Variable von Excel, an die man nicht kommt.... Bin für Ideen dankbar.
Viele Grüße
Norman
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige