vba列出共享工作簿中的所有活动用户?

我正在使用以下代码尝试插入当前在我的共享工作簿中处于活动状态的用户列表:

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 

我希望这个以列表forms出现,用逗号隔开:

 Users currently online: James Smith, Adam Black, Marie Rayner 

请有人能告诉我怎么做到这一点?

编辑:

使用@Jordanbuild议的代码:

 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 

我在工作簿打开/closures事件中调用此代码,如下所示:

 Private Sub Workbook_Open() Call CurUserNames ThisWorkbook.Save End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) Call CurUserNames ThisWorkbook.Save End Sub 

通过每次保存工作簿,我希望共享工作簿中的其他用户也可以看到活动用户实时更新F2单元格。

这似乎并不奏效。 它要求每个用户在看到单元格中更新的用户之前保存工作簿的会话。 请有人告诉我一个方法来得到这个工作?

先尝试build立string,然后在循环之后设置单元格的值:

 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