Registriert seit: 21.11.2014
Version(en): 2013
26.11.2014, 08:03
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 ??
Registriert seit: 12.04.2014
Version(en): Office 365
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
Registriert seit: 21.11.2014
Version(en): 2013
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
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
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-2019+365)
Registriert seit: 21.11.2014
Version(en): 2013
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
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
28.11.2014, 12:49
(Dieser Beitrag wurde zuletzt bearbeitet: 28.11.2014, 12:51 von schauan.)
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-2019+365)
Registriert seit: 21.11.2014
Version(en): 2013
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