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

Freigegebene Datei speichern

Freigegebene Datei speichern
06.06.2008 01:56:00
Mathias
Hallo,
ich möchte gerne eine freigegebe Datei ohne Rückfragen beim Schließen speichern.
Da es vorkommen kann, dass mehrere User gleichzeitig die Datei schließen (und daher die Datei zeitweise gesperrt sein kann) hab ich mir folgenden Code gebastelt:

Public Sub Workbookspeichern()
On Error GoTo Ende
Application.EnableEvents = False
ThisWorkbook.Save
Application.EnableEvents = True
Exit Sub
Ende:
Application.EnableEvents = True
On Error GoTo 0
End Sub


'---------------------------------


Public Sub Dateispeichern()
Dim Zeit As Single
Dim i As Integer
On Error GoTo Ende
i = 0
Workbookspeichern
While (Not ThisWorkbook.Saved) And (i  Zeit + 1   ' max. 1 Sekunden warten
Loop
Workbookspeichern  ' jetzt nochmal versuchen (max 30 x)
Wend
If Not ThisWorkbook.Saved Then MsgBox ("Datei konnte nicht gespeichert werden. ")
Exit Sub
Ende:
On Error GoTo 0
End Sub


'---------------------------------


Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Saved = True ' neu
ActiveWorkbook.Close SaveChanges:=False  ' neu
'ActiveWorkbook.Close False  ' alternativ ausprobiert
End Sub


'---------------------------------
Das dumme ist, dass ich immer noch bei einem User den Speicherdialog bekomme. Wenn ich da "Nein" wähle, ist trotzdem alles gespeichert. Der Code funktioniert also, nur warum kommt trotzdem noch der Speicherdialog am Ende? Liegt es evtl. an der Freigabe?
Wie kann ich die Speichermeldung endgültig loswerden?
Oder wie könnte ich das Speichern bei freigegebenen Dateien evtl. eleganter / besser / sicherer lösen?
Viele Grüße
Mathias

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Freigegebene Datei speichern
06.06.2008 14:43:10
fcs
Hallo Mathias,
ohne jetzt in deinen Code genauer reinzusehen halte ich es für problematisch bei freigegebenen Arbeitsmappen in den Ablauf der Datenspeicherung beim Schliessen der Arbeitsmappe einzugreifen.
Auf Alle Fälle ist folgende Procedur teilweise unsinnig:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Saved = True ' neu
ActiveWorkbook.Close SaveChanges:=False  ' neu
'ActiveWorkbook.Close False  ' alternativ ausprobiert
End Sub

Excel ist bereits im Process die Arbeitsmappe zu schliessen und du rufts nochmals die Close-Anweisung auf
Lasse die Before-Close-Prozedur weg und passe die folgende Zeile an:


If Not ThisWorkbook.Saved Then
MsgBox ("Datei konnte nicht gespeichert werden. ")
Else
ThisWorkbook.Close SaveChanges:=False
End If


Gruß
Franz

Anzeige
AW: Freigegebene Datei speichern
09.06.2008 19:49:50
Mathias
Hallo Franz,
vielen Dank für die Tipps.
Habe jetzt Workbook.Close ganz rausgenommen, da es zu ganz merkwürdigen, nicht nachvollziehbaren Problemen geführt hat.
Jetzt läuft alles bestens.
Viele Grüße
Mathias

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige