gpt4 book ai didi

vba - 保护精明用户的 Excel 工作表数据

转载 作者:行者123 更新时间:2023-12-04 22:07:43 25 4
gpt4 key购买 nike

我正在创建一个将分发给我的同事的 excel 应用程序。基于权限我需要禁用对某些工作表和功能的访问。我已经能够保护和隐藏工作表,但精明的用户能够在内部或外部迭代隐藏的工作表以公开数据。我需要阻止它。

流程如下:

当工作簿打开对远程数据库的查询时,会返回一组用户权限。然后将这些权限打印到名为“PERMISSIONS”的工作表中。

enter image description here

下面的代码通过传入列名迭代工作表权限以查找特定设置。

CheckPerm "Timesheet"

Public Function CheckPerm(nPermColTarget As String) As Boolean
Dim Counter As Integer
Dim x As Integer
Dim y As Integer

Counter = 3
Do Until Sheet7.Cells(Counter, 1).Value = Associate_Name
Counter = Counter + 1
Loop
y = Counter

Counter = 2
Do Until Sheet7.Cells(2, Counter).Value = nPermColTarget
Counter = Counter + 1
Loop
x = Counter

If Sheet7.Cells(y, x).Value = "ON" Then
CheckPerm = True
GrntDenySheetAccess nPermColTarget, y, x, CheckPerm
Else
' "OFF"
CheckPerm = False
GrntDenySheetAccess nPermColTarget, y, x, CheckPerm
End If
End Function


Private Sub GrntDenySheetAccess(nPermColTarget As String, y As Integer, _
x As Integer, CheckPerm As Boolean)

Select Case nPermColTarget

' Sheet1
Case "Timesheet"

If CheckPerm = True Then
Sheet1.Unprotect "pass"
Sheet1.Visible = xlSheetVisible
End If

If CheckPerm = False Then
Sheet1.Protect "pass"
Sheet1.Visible = xlSheetVeryHidden
End If

End Select

End Sub

但即使 sheet1 被隐藏和保护,我仍然可以遍历隐藏 sheet1 的内容以访问信息。无论如何要阻止它?

谢谢

最佳答案

没有任何方法可以安全地保护对 Excel 工作簿中任何内容的访问。在 Excel 2007 及更高版本中,密码更难破解,但用户可以简单地将工作簿另存为 .xls文件,然后它变得容易破解。

你能做的最好的事情就是让某人更难进入。密码保护您的文件,并将您不希望他们访问的任何工作表设置为 xlSheetVeryHidden ,这会阻止用户通过 Excel 用户界面取消隐藏工作表。

您问题下的评论者是正确的。如果您想要一个安全的应用程序,Excel 不是答案。

enter image description here

话虽如此,如果您在数据库层强制执行安全性,Excel 会提供出色的 UI。只要确保您不存储或检索用户不应该看到的数据。

关于vba - 保护精明用户的 Excel 工作表数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17137956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com