Excel 导入校验 Sheet 密码
Excel import check Sheet password
我正在使用 EPPlus 创建具有某些限制(锁定、验证等)的 excel 文件,并且我已经为 sheet:
设置了密码
sheet.Protection.IsProtected = true;
sheet.Protection.SetPassword("pass");
用户必须在文件中进行一些更改并导入相同的文件。
导入文件时如何检查密码是否相同("pass")
使用EPPLUS?我想确保用户使用和导入相同的 Excel 文件。
没有真正的方法来专门执行您所要求的有关检查密码的操作。但是,您真正的问题是如何针对用户的不道德行为进行身份验证以确保他们使用正确的模板。有很多方法可以做到这一点。我经常反对这一点,尤其是印度地区的用户(不是种族主义只是统计现实!)。
我可以建议一种不同的策略,即创建一个隐藏的 tab/Name 或其他东西来验证用户使用的是正确的工作簿吗?有很多方法可以通过检查 author/hidden 范围等来做到这一点。
这是一个示例,如果您有一个名为 yeaMan
的隐藏范围。我会把它放在 sheet 即 VeryHidden
中,这样用户就很难找到它。它不是无敌的,但它会阻止大约 95% 的不道德行为。
Sub CheckIfLegit()
Dim nHunter As String, NN As Name, OkayToSubmit As Boolean
nHunter = "yeaMan"
'searches for named range (could also be a veryhidden sheet or a variety of other tools)
For Each NN In ThisWorkbook.Names
If InStr(1, NN.Name, nHunter, vbTextCompare) > 0 Then
OkayToSubmit = True
Exit For
End If
Next NN
'test if the range was found
If OkayToSubmit Then
'OKAY TO SUBMIT! Run your submission code!
Else
MsgBox "Listen fool, you've been up to no good and I caught your @$$! Access Denied!!!", vbCritical, Title:="Oh NO!!!"
End If
End Sub
我正在使用 EPPlus 创建具有某些限制(锁定、验证等)的 excel 文件,并且我已经为 sheet:
设置了密码sheet.Protection.IsProtected = true;
sheet.Protection.SetPassword("pass");
用户必须在文件中进行一些更改并导入相同的文件。
导入文件时如何检查密码是否相同("pass") 使用EPPLUS?我想确保用户使用和导入相同的 Excel 文件。
没有真正的方法来专门执行您所要求的有关检查密码的操作。但是,您真正的问题是如何针对用户的不道德行为进行身份验证以确保他们使用正确的模板。有很多方法可以做到这一点。我经常反对这一点,尤其是印度地区的用户(不是种族主义只是统计现实!)。
我可以建议一种不同的策略,即创建一个隐藏的 tab/Name 或其他东西来验证用户使用的是正确的工作簿吗?有很多方法可以通过检查 author/hidden 范围等来做到这一点。
这是一个示例,如果您有一个名为 yeaMan
的隐藏范围。我会把它放在 sheet 即 VeryHidden
中,这样用户就很难找到它。它不是无敌的,但它会阻止大约 95% 的不道德行为。
Sub CheckIfLegit()
Dim nHunter As String, NN As Name, OkayToSubmit As Boolean
nHunter = "yeaMan"
'searches for named range (could also be a veryhidden sheet or a variety of other tools)
For Each NN In ThisWorkbook.Names
If InStr(1, NN.Name, nHunter, vbTextCompare) > 0 Then
OkayToSubmit = True
Exit For
End If
Next NN
'test if the range was found
If OkayToSubmit Then
'OKAY TO SUBMIT! Run your submission code!
Else
MsgBox "Listen fool, you've been up to no good and I caught your @$$! Access Denied!!!", vbCritical, Title:="Oh NO!!!"
End If
End Sub