Das letzte Clever-Excel-Forum.de - Treffen
fand vom 15. - 17. September 2017 in Friedrichroda /
Thüringen / Region Großer Inselsberg statt.

freigegebene Arbeitsmappe
#1
Exclamation 
Hallo Zusammen,

EXCEL 2007

habe Excel-Arbeitsmappe freigegeben für Mehrfachzugriff (im Netzbetrieb).

leider werden die Benutzer nach Schließen der Mapppe nicht mehr aus der Benutzerliste gelöscht.(siehe MenÜ: EXTRAS > Areitsmappe

freigeben)
Das heisst, die Liste läuft voll und die Benutzer sind dann zigfach vorhanden.

Woram liegt dieses seltsame Verhalten, kann man etwas dagegen tun ??
to top
#2
Hallo,

ich habe hier kein XL2007 und ich bin kein Freund von freigegebenen Arbeitsmappen da XL entsprechende Datenbankfunktionalitäten fehlen, aber m.W. kann man bei freigegebenen Arbeitsmappen die Änderungen protokollieren.

Nur um sicher zu gehen: Mit
Zitat:die Liste läuft voll und die Benutzer sind dann zigfach vorhanden.
meinst du nicht zufällig dieses Protokollierung die, wenn ich mich recht entsinne, über irgendein Kontrollkästchen eingeschaltet wird?
Gruß
Peter
to top
#3
Hallo,
Ich habe alles was protokollieren könnte ausgeschalten.
Es ist ja nicht so dass jeder Benutzer in der liste hängen bleibt.
Ich möchte um die Dateigröße zu reduzieren ab und an die Freigabe mittels VBA aus und dann wieder einschalten.
Um keinen Benutzer von der Datei zu trennen und dieser dann nicht mehr speichern kann frage ich ab wer gerade mit der Datei verbunden ist.
Leider geht das nicht wenn in der Liste nicht aktuell ist.

Gruß Peter
to top
#4
Hallo stonemaus,

es gibt Workbook.UserStatus. Das liefert ein Array mit Benutzer und Öffnungszeit ;-)
Eventuell liefert Dir das nur die aktuell aktiven Benutzer. Kann ich allerdings nix weiter dazu sagen, meine letzte freigegebene Mappe ist bestimmt schon über 5 Jahre her :-(
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
to top
#5
Vielen Dank
Mit der Eigenschaft Workbook.UserStatus habe ich ermittelt ob nur ein Benutzer die Datei geöffnet hat.
Leider erkennt diese Funktion alt Einträge auch als aktive Benutzer.
Die zweite Dimension gibt das Datum und die Uhrzeit des Benutzers an, vielleicht könnte man dieses Datum mit dem aktuellen Datum vergleichen und so herausfinden ob jetzt nur ein Benutzer geöffnet hat.
Leider komme ich nicht drauf wie ich das machen soll!!!

Gruß Peter
to top
#6
Hallo Peter,

im Prinzip könnte man das in Excel so auswerten. Wenn Du statt Now - 1 alternativ Date nimmst, werden wahrscheinlich die genommen, die älter als das Datum 0:00 Uhr sind - also alle gestrigen :-) und älter

Code:
Sub TestUser()
'Variablendeklaration
'Variant-Array
Dim arrUser
'Array mit Userstatus fuellen
arrUser = ThisWorkbook.UserStatus
'Schleife ueber alle user
For i = 1 To UBound(arrUser)
  'Wenn das Userdatum kleiner jetzt - 1 Tag ist, dann
  If CDate(arrUser(i, 2)) < Now - 1 Then
    'Meldung ausgeben
    MsgBox "Hiermit kann ich was anfangen"
  'Ende Wenn das Userdatum kleiner jetzt - 1 Tag ist, dann
  End If
'Ende Schleife ueber alle user
Next
End Sub
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
to top
#7
Hallo André
Herzlichen Dank für Deine Hilfe
Dies sieht gut aus, ich werde meine Datei damit aufrüsten und sehen was geschieht.
Es dauert immer ein zwei Tage bis Benutzer in der Liste hängen bleiben.

Gruß und ein schönes Wochenende

Peter
to top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste