如何获得使用特定共享工作簿的用户列表?
我正在使用共享工作簿。 有一个代码可以撤销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