当前位置:  开发笔记 > 后端 > 正文

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

如何解决《如何获取使用特定共享工作簿的用户列表?》经验,为你挑选了1个好方法。

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

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

通过这种方式,我可以设置一个msgbox,当有用户使用WB并保持WB共享时,该msgbox会发出警报.

谢谢



1> duDE..:

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

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

此示例创建一个新工作簿,并向其中插入有关将活动工作簿作为共享列表打开的所有用户的信息.

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


谢谢,效果很好!这就是我所做的:Users = ActiveWorkbook.UserStatus MsgBox UBound(Users)
推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有