Herbers Excel-Forum - das Archiv

Immer Speichern unter vorgegebenen Namen

Bild

Betrifft: Immer Speichern unter vorgegebenen Namen
von: Andreas

Geschrieben am: 16.02.2005 15:31:10
Hallo,
ich hab mir mal 'ne Frage an euch Experten:
Also ich möchte das Speichern meiner Original-Datei für andere User unterbinden.
Es soll dem User allerdings das speichern unter einem vorgegebenen Namen erlaubt sein.
Egal ob der User nun Speichern oder Speichern unter anklickt soll dieser Name vorgeschlagen werden.
Nun habe ich das Problem das ich mit dem unten stehenden Code zwar erreiche das sich das Fenster Speichern unter aufmacht, der Name vorgeschlagen wird aber ich zweimal auf speichern unter klicken muß, die Datei aber nicht gespeichert wird.
Wenn also jemand ne Idee hat...
Private Sub Workbook_beforeSave(ByVal SaveAsUi As Boolean, Cancel As Boolean)
Dim Dateiname As String
Dim Speicherpfad As Variant
Dateiname = Application.DefaultFilePath & "\" & "Kopie " & Application.UserName
Speicherpfad = Application.GetSaveAsFilename(InitialFilename:=Dateiname, _
fileFilter:="Microsoft Excel-Dateien (*.xls), *.xls", _
Title:="Die Datei sollte in Ihrem Standardordner gespeichert werden!")
If Speicherpfad = False Then
Cancel = True
Exit Sub
End If
ActiveWorkbook.SaveAs Speicherpfad
Cancel = True
End Sub

Vielen Dank
Bild

Betrifft: AW: Immer Speichern unter vorgegebenen Namen
von: UweD

Geschrieben am: 18.02.2005 09:21:16
Hallo
Dein Speicheraufruf ist ja wieder ein event. Dadurch wird das Makro erneut durchlaufen..
So gehts aber:
Private Sub Workbook_beforeSave(ByVal SaveAsUi As Boolean, Cancel As Boolean)
Dim Dateiname As String
Dim Speicherpfad As Variant
Dateiname = Application.DefaultFilePath & "\" & "Kopie " & Application.UserName
Speicherpfad = Application.GetSaveAsFilename(InitialFileName:=Dateiname, _
fileFilter:="Microsoft Excel-Dateien (*.xls), *.xls", _
Title:="Die Datei sollte in Ihrem Standardordner gespeichert werden!")
If Speicherpfad = False Then
Cancel = True
Exit Sub
End If
Application.EnableEvents = False
ActiveWorkbook.SaveAs Speicherpfad
Application.EnableEvents = True
Cancel = True
End Sub

Gruß UweD
Bild

Betrifft: DANKE
von: Andreas
Geschrieben am: 18.02.2005 10:36:59
Vielen Dank Uwe,
du hast mir sehr geholfen...
Hiermit gebe ich dir ein virtuelles Bier aus... Prost!
 Bild
Excel-Beispiele zum Thema "Immer Speichern unter vorgegebenen Namen"
Zelleingaben speichern Die "personl"-Arbeitsmappe ausgeblendet speichern
Formeln mit Zelladressen speichern Bestätigung beim Speichern unterdrücken.
Arbeitsmappe unter dem Text eines Zelleintrags speichern Einzelnes Tabellenblatt speichern
Mappe unter Zelldatum speichern Arbeitsmappe doppelt speichern
Arbeitsmappe unter Namen speichern Programmabbruch bei Überspeichernabfrage verhindern