Workbook.SaveAs in Workbook_BeforeSave geht nicht
Fllorian
Option Explicit
Dim bln As Boolean
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'
' Sinn dieses Codes:
'
' Vor dem Speichern soll ein Tabellenblatt eingeblendet werden, das darauf hinweist,
' dass die Makros ausgeschaltet sind. Außerdem werden alle anderen Tabellenblätter
' ausgeblendet. Nach dem Speichern wird der Vorgang rückgängig gemacht. Damit kann
' der Nutzer dann nach jedem Speichern weiterarbeiten, aber nach jedem Öffnen kann
' er nur dann weiterarbeiten, wenn er zuvor die Makros aktiviert hat.
' Den Codeteil für das Ein- und Ausblenden der Tabellenblätter habe ich der Übersicht-
' lichkeit halber durch die beiden Range("A1")-Zeilen ersetzt.
'
' Code nach Ideen und mit Hilfe von Hans und von Hajo_Zi
'
Application.DisplayAlerts = False
If bln = False Then
Cancel = True
bln = True
Application.ScreenUpdating = False
Range("A1") = "Text"
ThisWorkbook.Save
' ,
' /|\
' \
' \
' ~~~~~~~~~~~~~.
' \
' |
' Warum funktioniert hier nur ThisWorkbook.Save, nicht aber
' ThisWorkbook.SaveAs Environ("Userprofile") & "\Datei.xls"?
'
ThisWorkbook.Saved = True
Range("A1").ClearContents
bln = False
Application.ScreenUpdating = False
End If
Application.DisplayAlerts = True
End Sub