ich den folgenden Code verwenden eine Liste der Benutzer zur Zeit aktiv in meiner freigegebenen Arbeitsmappe zu versuchen und einfügen:vba listet alle aktiven Benutzer in einer freigegebenen Arbeitsmappe auf?
Sub CurUserNames()
uSize = UBound(ThisWorkbook.UserStatus)
For i = 1 To uSize
Range("F2").Value = "Users currently online:" & Chr(10) & ThisWorkbook.UserStatus(i, 1)
Next
End Sub
Ich möchte dies als eine Liste angezeigt wird, wie dies durch Kommas getrennt:
Users currently online:
James Smith, Adam Black, Marie Rayner
Bitte kann mir jemand zeigen wie ich das machen kann?
Edit:
Mit dem Code von @Jordan vorgeschlagen:
Sub CurUserNames()
Dim str as String
str = "Users currently online:" & Chr(10)
For i = 1 To UBound(ThisWorkbook.UserStatus)
str = str & ThisWorkbook.UserStatus(i, 1) & ", "
Next
Range("F2").Value = Mid(str, 1, Len(str) - 2)
End Sub
Ich rufe diesen Code in einer Arbeitsmappe Öffnen/Schließen-Ereignis wie folgt:
Private Sub Workbook_Open()
Call CurUserNames
ThisWorkbook.Save
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call CurUserNames
ThisWorkbook.Save
End Sub
Durch die Einsparung Arbeitsmappe jedes Mal hoffte ich, dass andere Benutzer in der freigegebenen Arbeitsmappe auch die Zelle F2 in Echtzeit mit aktiven Benutzern aktualisieren sehen würde.
Dies scheint nicht zu funktionieren. Es erfordert, dass jeder Benutzer seine Sitzung der Arbeitsmappe speichert, bevor die Benutzer in der Zelle aktualisiert werden. Kann mir bitte jemand einen Weg zeigen, wie das funktioniert?
Dank aber listet jeden Benutzer untereinander mit einem Zeilenumbruch wie unten – user7415328
Benutzer aktuell online: – user7415328
jackie smithers – user7415328