Supportnet / Forum / Tabellenkalkulation
Freigegebene Mappe
Frage
Hallo,
habe auf unserem Firmennetzwerk eine freigegebene Mappe. Diese tut auch tadellos ihren Dienst. Bis auf dies:
Im Urzustand ist die Mappe 1,5mb gross. Angenommen ich gebe die Mappe Montags im Netzwerk frei (Freigegeben), dann habe ich Freitags eine Grösse von 10mb ! Nehme ich dann den Freigabemodus wieder weg u. setzte die Freigabe anschließend wieder, dann bin ich wieder bei 1,5mb ! Die Mappe dient als Rückmeldungen von Anlagenstörungen u. die Störeinträge werden nach jedem Tag per Makro gelöscht u. so behält die Mappe im nicht freigegebene Zustand in etwa die Ursprungsgrösse. Nur eben nicht im Freigabemodus. Dank Google habe ich auch einen Ansatz für dieses Problem gefunden. Die benutzerdefinierte Ansicht eines jeden Benutzers wird immer gespeichert, selbst wenn die Mappe von dem Nutzer nur geöffnet u. ohne Speicherung geschlossen wird. Da ich aber nicht jedesmal nach fünf Tagen den Freigamodus manuell rück.- u. wieder setzen möchte oder eben die benutzerdefinierten Ansichten manuell löschen möchte, suche ich nach einer Makromöglichkeit, um dies zu automatisieren. Benutzerdefiniert Ansicht kann man laut Makrorekorder so löschen:
[b]
ActiveWorkbook.CustomViews("Tom - Persönliche Ansicht").Delete[/b]
Gibt es auch eine Möglichkeit ohne den Namen (In Anführungszeichen) zu kennen bzw. zu definieren, diese Ansichten alle zu löschen ? Also alle Einträge, die unter benutzerdefinierter Ansicht stehen zu löschen ?
Oder hat jemand eine andere Idee, was das Aufblähen einer freigegebenen Mappe auslösen könnte. Übrigens habe ich das führen des Änderungsprotokolls deaktiviert. Bringt aber auch nichts.
Vielen Dank im voraus
Gruss
Thomas
Antwort 1 von piano
Hallo
vielleicht könnte folgender Code helfen (kann es derzeit nicht in Netzwerkumgebung testen):
Gruß piano
Es wäre nett, wenn Du ein Feedback abgeben könntest,
ob der Lösungsvorschlag Dein Problem gelöst hat.
- probieren geht über studieren -
vielleicht könnte folgender Code helfen (kann es derzeit nicht in Netzwerkumgebung testen):
Sub CVDelete()
AnzCV = ActiveWorkbook.CustomViews.Count
MsgBox (y)
If AnzCV > 0 Then
For i = 1 To AnzCV
ActiveWorkbook.CustomViews(i).Delete
Next i
End If
End Sub
Gruß piano
Es wäre nett, wenn Du ein Feedback abgeben könntest,
ob der Lösungsvorschlag Dein Problem gelöst hat.
- probieren geht über studieren -
Antwort 2 von Tom1000
Hallo Piano,
danke für deinen Vorschlag. Einen Laufzeitfehler bekomme ich beim löschen:
ActiveWorkbook.CustomViews(i).Delete
Das habe ich mit On Error Resume Next abgefangen. Nur halbiert dein Code die Anzahl der Ansichten. Also wenn es 12 waren, habe ich nach durchlaufen deines Codes noch 6. Lasse ich dann nochmal durchlaufen sind es noch 3 usw...
Dann habe ich es so probiert:
On Error Resume Next
While Zähler < 10
For i = 1 To ActiveWorkbook.CustomViews.Count
ActiveWorkbook.CustomViews(i).Delete
Next i
Zähler = Zähler + 1
Wend
So werden bei 10 Durchgängen garantiert alle Ansichten gelöscht. Nur ob das überhaupt etwas gegen mein eigentliches Problem hilft, kann ich erst heute abend im Geschäft testen.
Gruss
danke für deinen Vorschlag. Einen Laufzeitfehler bekomme ich beim löschen:
ActiveWorkbook.CustomViews(i).Delete
Das habe ich mit On Error Resume Next abgefangen. Nur halbiert dein Code die Anzahl der Ansichten. Also wenn es 12 waren, habe ich nach durchlaufen deines Codes noch 6. Lasse ich dann nochmal durchlaufen sind es noch 3 usw...
Dann habe ich es so probiert:
On Error Resume Next
While Zähler < 10
For i = 1 To ActiveWorkbook.CustomViews.Count
ActiveWorkbook.CustomViews(i).Delete
Next i
Zähler = Zähler + 1
Wend
So werden bei 10 Durchgängen garantiert alle Ansichten gelöscht. Nur ob das überhaupt etwas gegen mein eigentliches Problem hilft, kann ich erst heute abend im Geschäft testen.
Gruss
Antwort 3 von piano
Hallo
besser wäre wahrscheinlich die Schleife:
würde mich interessieren, ob das funktioniert.
Vielleicht kommt der Laufzeitfehler beim Versuch den eigenen Eintrag zu löschen ?!
Gruss
piano
besser wäre wahrscheinlich die Schleife:
Sub CVDelete()
Do While True
AnzCV = ActiveWorkbook.CustomViews.Count
If AnzCV = 0 Then Exit Do
For i = 1 To AnzCV
ActiveWorkbook.CustomViews(i).Delete
Next i
Loop
End Sub
würde mich interessieren, ob das funktioniert.
Vielleicht kommt der Laufzeitfehler beim Versuch den eigenen Eintrag zu löschen ?!
Gruss
piano
Antwort 4 von Tom1000
Hallo,
das Ergebnis ist das gleiche !
Fehlermeldung bei:
ActiveWorkbook.CustomViews(i).Delete
und es werden wieder nur die Hälfte der Ansichten gelöscht. Genau wie beim letzten Code.
Trotzdem nochmal DANKE.
Gruss
das Ergebnis ist das gleiche !
Fehlermeldung bei:
ActiveWorkbook.CustomViews(i).Delete
und es werden wieder nur die Hälfte der Ansichten gelöscht. Genau wie beim letzten Code.
Trotzdem nochmal DANKE.
Gruss
Antwort 5 von piano
Hallo
Trotz "On Error Resume Next " ?
Vielleicht noch ein Versuch (mit dem Risiko einer Endlosschleife! - ausprobieren):
und
Gruss
Trotz "On Error Resume Next " ?
Vielleicht noch ein Versuch (mit dem Risiko einer Endlosschleife! - ausprobieren):
On Error GoTo Anfang
und
Anfang:
hinter "Do While"Gruss
Antwort 6 von Tom1000
Hallo Piano,
On Error Resume Next hatte ich vergessen. Mit diesem funktioniert es !
Vielen Dank.
Jetzt muss der "ganze" Aufwand sich nur noch gelohnt haben und mein eigentliches Problem lösen.
Da bin ich schon selbst gespannt. Sollte dies auch nichts einbringen, dann muss ich wohl doch noch auf Access umsteigen. Dort gibt es dieses Phänomen bei freigegebenen Dateien, mit wachsendem Volumen nicht.
Wenn ich es getestet habe, melde ich mich wieder.
Gruss
On Error Resume Next hatte ich vergessen. Mit diesem funktioniert es !
Vielen Dank.
Jetzt muss der "ganze" Aufwand sich nur noch gelohnt haben und mein eigentliches Problem lösen.
Da bin ich schon selbst gespannt. Sollte dies auch nichts einbringen, dann muss ich wohl doch noch auf Access umsteigen. Dort gibt es dieses Phänomen bei freigegebenen Dateien, mit wachsendem Volumen nicht.
Wenn ich es getestet habe, melde ich mich wieder.
Gruss
Antwort 7 von Tom1000
Guten Morgen,
leider brachte das Löschen der Ansichten keinen Erfolg. Die Mappe wird nur dann wieder "klein", wenn ich die Freigabe kurz wegnehme u. anschließend wieder setze. Dann habe ich wieder meine Ursprungsgrösse.
Jetzt habe ich keine Idee mehr.
Vielleicht von euch jemand ?
Falls nicht, wird mir wohl nichts anderes übrig bleiben, als die Datei nochmal in Access zu erstellen.
Gruss
leider brachte das Löschen der Ansichten keinen Erfolg. Die Mappe wird nur dann wieder "klein", wenn ich die Freigabe kurz wegnehme u. anschließend wieder setze. Dann habe ich wieder meine Ursprungsgrösse.
Jetzt habe ich keine Idee mehr.
Vielleicht von euch jemand ?
Falls nicht, wird mir wohl nichts anderes übrig bleiben, als die Datei nochmal in Access zu erstellen.
Gruss
Antwort 8 von piano
Hallo
Nochmals ich. Tut mir leid um die schöne Lösung. Aber Access ist naturgemäß die geeignetere Plattform für Multi-User-Betrieb.
Allerdings hatte ich auch einmal dieses Problem durch die Deaktivierung des Änderungsprotokolls halbwegs in den Griff bekommen (gab aber nur wenige User).
Gruss piano
Nochmals ich. Tut mir leid um die schöne Lösung. Aber Access ist naturgemäß die geeignetere Plattform für Multi-User-Betrieb.
Allerdings hatte ich auch einmal dieses Problem durch die Deaktivierung des Änderungsprotokolls halbwegs in den Griff bekommen (gab aber nur wenige User).
Gruss piano
Antwort 9 von Tom1000
Hallo Piano,
ja wirklich schade um deinen Code. Das Änderungsprotokoll habe ich auch schon deaktiviert. Brachte bzw. bringt leider nichts.
Tja, dann eben das ganze nochmal in Access *g
Gruss u. danke nochmal
ja wirklich schade um deinen Code. Das Änderungsprotokoll habe ich auch schon deaktiviert. Brachte bzw. bringt leider nichts.
Tja, dann eben das ganze nochmal in Access *g
Gruss u. danke nochmal