Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Schliesen.Abfrage.Speichern.VBA-Problem

Forumthread: Schliesen.Abfrage.Speichern.VBA-Problem

Schliesen.Abfrage.Speichern.VBA-Problem
10.11.2006 09:57:23
Fabio
Hallo zusammen,
folgende Themen habe ich :
Mit dem folgenden "kurzen" Script lasse ich die Datei beim Schliessen speichern :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveWorkbook.Save
End Sub

Zwei Probleme dazu :
a) Ich hätte gerne eine Abfrage ob speichern überhaupt gewünscht ist
-> aber wie ?
b) Wenn die Datei "schreibgeschützt" geöffent ist, dann soll natürlich nicht gespeichert werden - und auch keine Anfrage kommen. Wie kann ich das am einfachsten hinbekommen ?
Es gibt ja die Möglicheit :
If ActiveWorkbook.ReadOnly Then
Else
End If
etc...
-> nur da weiß ich nicht genau, wie ich das einbinden kann in die Speicher-Abfrage...
Wäre das eine Lösung ? (habe ich nicht probiert, weil ich mich damit viel zu wenig auskenne !)

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If ActiveWorkbook.ReadOnly Then
?was muss ich hier eingeben, damit er die Tabelle einfach schliesst ?
Else
ActiveWorkbook.Save
End If
End Sub

Etwas ratloser Fabio
Danke !
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Schliesen.Abfrage.Speichern.VBA-Problem
10.11.2006 10:18:11
marcl
Hallo Fabio,
versuch mal das, ist aber nciht getestet :-)

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If ActiveWorkbook.ReadOnly Then
frage = MsgBox("Speichern", vbYesNo)
If frage = 2 Then
ActiveWorkbook.Close savechanges = no
End If
Else
ActiveWorkbook.Save
End If
End Sub

Gruß
marcl
Anzeige
Frage:OHNE Speichern!(Else ohne if?)
13.11.2006 12:46:10
Fabio
Hallo,
Danke für die Lösung, die Funktioniert soweit auch. Aber nun noch eine Frage - wie müsste ich das ändern, das KEINE JA/NEIN-Abfrage kommt, sondern bei "readonly" einfach nicht gespeichert - sondern geschlossen wird.
So gehts leider nicht, da kommt eine Fehlermeldung "IF fehlt":
Original mit Abfrage :
If ActiveWorkbook.ReadOnly Then
frage = MsgBox("Speichern", vbYesNo)
If frage = 2 Then
ActiveWorkbook.Close savechanges = no
End If
Else
ActiveWorkbook.Save
End If
End Sub
Meine Änderungen (die Abfrage soll ja nun nicht kommen) :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If ActiveWorkbook.ReadOnly Then
ActiveWorkbook.Close savechanges = no
End If
Else
ActiveWorkbook.Save
End If
End Sub

Und da kommt der Else ohne IF - Fehler
Danke !
Fabio
Anzeige
AW: Frage:OHNE Speichern!(Else ohne if?)
13.11.2006 15:19:20
marcl
hallo Fabio,
da war noch ein kleiner Fehler drinn. Jetzt müsste es gehen.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If ActiveWorkbook.ReadOnly Then
ActiveWorkbook.Close savechanges = no
End If
frage = MsgBox("Speichern", vbYesNo)
If frage = 7 Then
ActiveWorkbook.Close savechanges = no
Else
ActiveWorkbook.Save
End If
End Sub

gruß
marcl
Anzeige
Danke und !
14.11.2006 11:06:37
Fabio
Hei marcl,
vielen Dank für die Lösung. Kannst Du die nochmals umstricken (nur wenn wirklich Zeit - weil das ist jetzt einfach nur ein "Nice to have" - das bei "wenn mit schreibschutz geöffnet keine Abfrage kommt - sondern einfach nur geschlossen wird. Danke !
Wenn keine Zeit - auch kein Thema - auf jeden Fall vielen lieben Dank für die bisherigen Lösungen !
Fabio
Anzeige
AW: Frage:OHNE Speichern!(Else ohne if?)
14.11.2006 11:40:24
marcl
Hi Fabio,
folgendes Makro nicht in ein Modul, sondern in "DieseArbeitsmappe" kopieren:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If ActiveWorkbook.ReadOnly Then
Application.DisplayAlerts = False
ActiveWorkbook.Close
End If
frage = MsgBox("Speichern", vbYesNo)
If frage = 7 Then
ActiveWorkbook.Close savechanges = no
Else
ActiveWorkbook.Close savechanges = yes
End If
End Sub

nun sollte es funktionieren,
Gruß
marcl
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige