gpt4 book ai didi

excel - vba 列出共享工作簿中的所有事件用户?

转载 作者:行者123 更新时间:2023-12-04 20:36:31 24 4
gpt4 key购买 nike

我正在使用以下代码尝试在我的共享工作簿中插入当前事件的用户列表:

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

我希望它显示为一个列表,用逗号分隔,如下所示:
Users currently online:
James Smith, Adam Black, Marie Rayner

请有人能告诉我我该怎么做吗?

编辑:

使用@Jordan 建议的代码:
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

我在工作簿打开/关闭事件中调用此代码,如下所示:
Private Sub Workbook_Open()
Call CurUserNames
ThisWorkbook.Save
End Sub

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

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

这似乎不起作用。它要求每个用户在看到用户在单元格中更新之前保存他们的工作簿 session 。请有人可以告诉我一种让它工作的方法吗?

最佳答案

尝试先构建字符串,然后在循环后设置单元格的值:

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

关于excel - vba 列出共享工作簿中的所有事件用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41874617/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com