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

Dateiname vorbelegen bei Speichern unter aus Menü

Dateiname vorbelegen bei Speichern unter aus Menü
09.05.2019 10:21:52
Excel
Schönen guten Tag,
ich bin neu hier und werde mir gesteigerte Mühe geben mein Anliegen ordentlich vorzutragen - aber seid im Zweifel bitte nachsichtig.
Ich möchte, dass wenn der Anwender aus dem Menü "Speichern unter" wählt, hierbei der Dateiname vorgegeben wird. Ob dieser dann geändert werden kann oder nicht spielt keine Rolle. Ich habe es schon mit diversen Angriffen auf das Workbook_BeforeSave Event versucht, bin dabei jedoch gescheitert.
Das beschert mir das Fenster doppelt. Einmal mit dem neuen und einmal mit dem aktuellen Dateinamen:
If SaveAsUI = True Then
Application.Dialogs(xlDialogSaveAs).Show (sFilename & ".xlsm")
End If
Ich möchte das Fenster lediglich einmal haben und dann bitte dem String sFilename als Vorbelegung.
Vielen Dank für Eure Ideen und Anregungen

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateiname vorbelegen bei Speichern unter aus Menü
09.05.2019 10:26:51
Hajo_Zi
ich habbe die Zeile
Application.Dialogs(xlDialogSaveAs).Show (sFilename & ".xlsm")
in meine Datei kopiert, der Dialog kommt nur einmal.

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
Name vorgeben bei Speichern unter aus Menü
09.05.2019 10:52:41
Excel
Danke für die Antwort. Also wenn Du diese Zeile in das WorkbookBeforeSave kopierst und dann im Menü über "Speichern unter" gehst, müsste es eigentlich doppelt kommen. Bei mir tut es das zumindest.
AW: Name vorbelegen bei Speichern unter
09.05.2019 10:50:53
Excel
Danke für die Antwort. Also wenn Du diese Zeile in das WorkbookBeforeSave kopierst und dann im Menü über "Speichern unter" gehst, müsste es eigentlich doppelt kommen. Bei mir tut es das zumindest.
Anzeige
AW: Name vorbelegen bei Speichern unter
09.05.2019 11:04:40
Excel
Ich habe das gerade mal in einem ganz neuen und nackten Dokument ausprobiert und selbst dort kommt es doppelt:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If SaveAsUI = True Then
Application.Dialogs(xlDialogSaveAs).Show (sFilename & ".xlsm")
End If
End Sub
Wie gesagt, wenn man über "Speichern unter" im Menü geht.
AW: Name vorbelegen bei Speichern unter
09.05.2019 11:26:14
fcs
Hallöchen,
damit es funktioniert muss der erste Aufruf des Ereignismakros gecancelt werden und vorübergehend die Ereignismakros deaktiviert werden.
LG
Franz
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim sFilename As String
sFilename = "Test " & Format(Now, "YYYY-MM-DD hhmmss") 'Testzeile
If SaveAsUI = True Then
Application.EnableEvents = False
Application.Dialogs(xlDialogSaveAs).Show sFilename & ".xlsm", 52
Cancel = True
Application.EnableEvents = True
End If
End Sub

Anzeige
AW: Name vorbelegen bei Speichern unter
09.05.2019 11:32:27
Excel
Das klappt, ganz genau das habe ich gesucht. Vielen herzlichen Dank.
Dazu habe ich noch 2 kleine Fragen:
- was genau bewirkt die 52 am Ende der Zeile die den Dialog aufruft?
- was genau bewirkt Cancel = True? Oder besser auf was wirkt das?
Vielen Dank und viele Grüße
Bernd
AW: Name vorbelegen bei Speichern unter
09.05.2019 11:38:15
Excel
Jetzt gibt es ein anderes Problem. Jetzt funktioniert mein anderes Speichern unter nicht mehr richtig. Dies soll dann greifen, wenn der Dialog kein Speichern unter ist und der aktuelle und der erwartete Dateiname unterschiedlich sind. Ich habe dort nun diese beiden Schleifen in Folge:
If sFilename Left(ThisWorkbook.Name, InStr(ThisWorkbook.Name, ".") - 1) And SaveAsUI = False Then
If MsgBox(sDialogSpeichern, vbYesNo) = vbYes Then
Cancel = True
Application.Dialogs(xlDialogSaveAs).Show sFilename & ".xlsm"
End If
End If
If SaveAsUI = True Then
Application.EnableEvents = False Application.Dialogs(xlDialogSaveAs).Show sFilename & ".xlsm", 52
Cancel = True
Application.EnableEvents = True
End If
Anzeige
AW: Name vorbelegen bei Speichern unter
11.05.2019 06:57:12
fcs
Hallöchen,
auch hier müssen die Ereignismakros kurzzeitig deaktiviert werden,damit es nicht zu einem erneuten Aufruf kommtund es ist besser die If-Prüfungen korrekt zu schachteln.
Hinweis mit dem zusätzlichen nummerischen Parameter für die Anzeige des "Speichern-Unter-Dialogs" kann man vorgeben welches Dateiformat im Dialog angezeigt werden soll.
52 = xlsm
51 = xlsx
Beim vorgegeben Dateinamen kann man dann die Erweiterung des Dateinamens weglassen.
Gruß
Franz
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim sFilename As String, sDialogSpeichern As String
sDialogSpeichern = "Datei """ & Me.Name & """ unter neuem Namen speichern?" 'Testzeile
sFilename = "Test " & Format(Me.Worksheets(1).Range("A1").Value, "YYYY-MM") 'Testzeile
If SaveAsUI = True Then
Application.EnableEvents = False
Application.Dialogs(xlDialogSaveAs).Show sFilename & ".xlsm", 52
Cancel = True
Application.EnableEvents = True
Else
If sFilename  Left(ThisWorkbook.Name, InStr(ThisWorkbook.Name, ".") - 1) Then
If MsgBox(sDialogSpeichern, vbYesNo) = vbYes Then
Application.EnableEvents = False
Cancel = True
Application.Dialogs(xlDialogSaveAs).Show sFilename & ".xlsm"
Application.EnableEvents = True
End If
End If
End If
End Sub

Anzeige

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige