我们发送带有用户访问控制的excel工作簿。但是,注意到他们可以使用十六进制编辑器方法进入工作簿(通过> Is there a way to crack the password on an Excel VBA Project?)并更改我们的代码以验证该用户。 为了防止这种情况,我们尝试将DBP = [TEXT]存储在数据库中,并在每次启动宏时对其进行验证。每次保存宏时,DBP文本都会更改,从而失败。
想法是我们尝试通过传递我们设置的密码来解锁VBA项目,并在密码正确时接收消息。 现在,问题是,有没有办法实现流程自动化?我找到了通过另一个工作簿解锁VBA项目的方法,但是如果在自动化过程中密码不正确,它们会卡住。
验证过程可以在服务器端完成。因此,如果可以通过C#Office互操作而不是VBA来完成它会更好。更好的是OpenXML。 VBA解决方案也受到欢迎。