9.7k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von snailhouse Mitglied (179 Punkte)
Hallo zusammen,
 
ich öffne per VBA eine andere xls-Datei.
Wenn diese bereits durch einen anderen Benutzer geöffnet ist,
kann ich das über readonly abfragen.
 
Gibt es auch eine Möglichkeit, den Benutzernamen abzufragen?,
so wie ich es im Dialogfenster angezeigt bekomme,
wenn ich die Datei manuell öffnen würde?
 
Für Eure Mühe im voraus vielen Dank!
 
Gruß
Jürgen

3 Antworten

0 Punkte
Beantwortet von marie Experte (2k Punkte)
Ich versteh mal wieder deine Frage nicht eindeutig.

Mit
Application.UserName
kannst Du den Namen auslesen, wer die Datei geöffnet hat, das ist aber dann Dein eigener. Ich vermute Du willst wissen wer sonst noch im netzwerk gleichzeitig die datei geöffnet hat?

Also dann hilft Dir wohl eher das:

Declare Function GetUserName Lib "advapi32.dll" Alias
"GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Sub ShowUserName()
Dim Buffer As String * 100
Dim BuffLen As Long
BuffLen = 100
GetUserName Buffer, BuffLen
MsgBox Left(Buffer, BuffLen - 1)
End Sub

Function NetUserName()
Dim Buffer As String * 100
Dim BuffLen As Long
BuffLen = 100
GetUserName Buffer, BuffLen
NetUserName = Left(Buffer, BuffLen - 1)
End Function



nicht auf meinem Mist gewachsen, stammt von www.excel-center.de

Gruß marie
0 Punkte
Beantwortet von snailhouse Mitglied (179 Punkte)
Hallo Marie,

danke für die Mühe, aber Du hast Recht, anscheinend war meine Frage echt nicht eindeutig gestellt. :-)

Ich versuch's nochmal:
Voraussetzung ist: Die Datei, die ich öffne, muss mich Schreibrechten geöffnet werden, weil dort Daten aus einer Access-db eingetragen werden.

Manuelles öffen über den Explorer:
Wenn ich eine Datei öffnen möchte, die ein andere Benutzer bereits geöffnet hat, erhalte ich ein Dialogfenster, dass die Datei bereits von dem Benutzer xy zum Bearbeiten gesperrt ist.

Öffnen per VBA:
Wenn ich die Datei per VBA öffne, erhalte ich dieses Dialogfenster nicht]/b], sondern die Datei wird einfach schreibgeschützt geöffnet. Um also zu erkennen, ob die Datei mit Schreibrechten oder schreibgeschützt geöffnet wurde, frage ich mit .readonly ab, ob die Datei schreibgeschützt ist. In diesem Fall verlasse ich das sub, weil ich die Änderungen ja nicht abspeichern kann.

Zusätzlich würde ich dem Benutzer aber gerne die Rückmeldung geben, [b]wer
die Datei geöffnet hat. Sonst muss er selbst über die Explorer versuchen, die Datei zu öffnen, um in dem Dialogfester sehen zu können, wer die Datei zum Bearbeiten gesperrt hat.

Wie frage ich also ab, wer die Datei zum Bearbeiten geöffnet hat?

Ich hoffe, meine Frage ist nun klarer geworden.

Gruß
Jürgen
0 Punkte
Beantwortet von marie Experte (2k Punkte)
Also ich verstehe das so, dass das oben
Ich vermute Du willst wissen wer sonst noch im netzwerk gleichzeitig die datei geöffnet hat?
exakt das ist, was Du haben willst? hast Du das mal ausprobiert?? Oder was versteh ich jetzt falsch??

Gruß Marie
...