0
我有一个workbook
与rawdata。通过button
用户可以打开UserInterface并导出不同的数据子集。仅给某些用户提供工作簿写入权限
现在我正在寻找一种只允许certain users
(取决于windows用户名)对rawdata进行更改的方式,但所有用户仍然可以单击按钮导出数据。
这是据我还没有:
Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Sub AAA()
Dim UName As String * 255
Dim L As Long: L = 255
Dim Res As Long
Res = GetUserName(UName, L)
...
End Sub
的代码给我的是谁登录到操作系统的人的Windows用户名。 我想我需要做这样的事情(让我们假设HAL是谁有权访问RAWDATA用户):
If UName = "HAL" then
---Unlock worksheet
End If
但我就是无法找到如何设置工作簿解锁并在(当)到设置工作表被锁定。我猜在公开赛中锁定它是一个坏主意。如果有人能帮助我,我真的很感激。
我想你应该锁定在保存工作簿(BeforeSave事件中),并在SheetActivate事件或许解开了吗? –
不需要你在那里的'function'。要获取登录用户的名称,只需要询问:'Debug.Print Environ(“USERNAME”)'。如果你也关心那个是'Environ(“USERDOMAIN”)'的域。您登录的服务器是具有DNS Environ(“USERDNSDOMAIN”)的Environ(“LOGONSERVER”)。 – Ralph