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

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

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

这样,我可以设置一个msgbox,警告有用户使用WB,并保持所有的WB共享。

谢谢

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

返回基于1的二维数组,该数组提供有关将工作簿打开为共享列表的每个用户的信息。 第二维的第一个元素是用户的名字,第二个元素是用户上次打开工作簿的date和时间,第三个元素是一个表示列表types的数字(1表示排他,2表示排他共享)。 只读变体。

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

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的用户数量的msgbox。

多谢,伙计

哇。 如何去MenuBar – 审查=>共享工作簿=>编辑选项卡,并看到所有用户打开WB