如何获取使用特定共享工作簿的用户列表



我正在使用共享工作簿。有一个代码可以撤消WB的共享,更新工作表中的数据,然后再次共享WB。如果有用户连接到这个WB,他们将失去在WB上保存的能力,excel将要求他们以不同的名称保存WB。

我的问题是如何获得当前正在使用WB的用户列表?

通过这种方式,我可以设置一个消息框,提醒有用户使用WB,并让所有人共享WB。

感谢

尝试使用UserStatus属性[Excel 2003 VBA语言参考]:

返回一个基于1的二维数组,该数组提供信息关于将工作簿作为共享列表打开的每个用户。第一个第二个维度的元素是用户的名称元素是用户上次打开工作簿的日期和时间,并且第三元素是指示列表的类型的数字(12表示共享)。只读变量。

示例

此示例创建一个新工作簿,并在其中插入有关以共享列表形式打开活动工作簿的所有用户的信息。

users = ActiveWorkbook.UserStatus
With Workbooks.Add.Sheets(1)
    For row = 1 To UBound(users, 1)
        .Cells(row, 1) = users(row, 1)
        .Cells(row, 2) = users(row, 2)
        Select Case users(row, 3)
            Case 1
                .Cells(row, 3).Value = "Exclusive"
            Case 2
                .Cells(row, 3).Value = "Shared"
        End Select
    Next
End With
Sub getListUsingUsers()
    Users = ActiveWorkbook.UserStatus
    MsgBox "Total Users using the current WorkBook: " & UBound(Users)
End Sub

这段代码给了我一个消息框,里面有连接到WB的用户数量。

感谢@duDE

哇。只需转到MenuBar Review=>Share Workbook=>编辑选项卡,查看所有WB打开的用户

最新更新