2016-09-27 42 views
0

我需要打开Woorkbook的读/写用户的名称的Excel文件的当前读/写用户。如何获得使用VBA

我已经试过这users = ActiveWorkbook.UserStatus但是这并不因为我想工作,我得到的只有一个用户“我的名字”,甚至有其他用户。

所以,当我打开已经被另一个用户打开的工作簿时,我希望得到这个用户的名称。

是否可以使用VBA。

回答

1

:)任何用户会得到它的名字写的,如果他Environ("Username")打开它。转到另一台PC并检查它。 Environ(“用户名”)给出了当前Windows用户的名称。

编辑:如果你正在谈论共享工作簿,这是代码:

Sub getListUsingUsers() 
    Users = ActiveWorkbook.UserStatus 
    MsgBox "Total Users using the current WorkBook: " & UBound(Users) 
End Sub 

EDIT2:

Sub GetUsers() 

Dim users   As Variant 
Dim l_counter  As Long 

users = ActiveWorkbook.UserStatus 
Debug.Print "Total Users using the current WorkBook: " & UBound(users) 

For l_counter = 1 To UBound(users) 
    Debug.Print users(l_counter, 1) 
Next l_counter 

End Sub 
+0

我已经尝试过这一点,但不起作用。所以我从另一台电脑打开这个文件,然后从电脑打开它,我得到我的名字,而不是其他电脑的名称 – Yacino

+1

检查了这一点 - http://stackoverflow.com/questions/34612730/how-can -i-get-list-of-users-using-specific-shared-workbook – Vityata

+0

谢谢我已经试过这个,但在我的情况下,这个文件不是共享的Excel文件,甚至有2或3个用户,当我执行这个功能我得到1个用户 – Yacino