Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
408to412
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
408to412
408to412
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Workbook.SaveAs in Workbook_BeforeSave geht nicht

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

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Workbook.SaveAs in Workbook_BeforeSave geht nicht
Matthias
Hallo Florian,
innerhalb eines Ereignisses eine Methode aufzurufen, die das gleiche Ereignis erneut aufruft, führt zu Konflikten.
Schalte vor dem Save-Befehl die Events ab:
Application.EnableEvents = False
und danach wieder ein:
Application.EnableEvents = True
Gruß Matthias
AW: Sorry, falsche Antwort...
Matthias
...Du hast dieses Problem ja schon mit der globalen Vaiablen bln gelöst.
Gruß Matthias
Nope! Das war's wohl. Jetzt läuft's...
Florian
Danke und Gruß,
Florian
AW: Nope! Das war's wohl. Jetzt läuft's...
09.04.2004 22:32:19
Matthias
Hallo Florian,
ich dachte schon, eine nicht so elegante Lösung, hier mit einer globalen Variable zu arbeiten statt mit EnableEvents.
Aber dass es dein (von mir erst später erkanntes Problem) löst, dachte ich nicht...
Naja, um so besser!
Gruß und schöne Feiertage,
Matthias
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige