声明表单密码的全局variables
我有一个更大的Excel文件与多个工作表和模块。 在这些代码中,我需要暂时保护或解除密码保护,以更新某些受保护的零件。
到目前为止,我使用下列其中一行工作,但这意味着密码在整个代码中出现多次。 有没有办法像一个全局variables一样声明这个密码 ,然后在需要的时候只需要引用这个variables,这样只要需要更改就只需要修改一次。 此外,这会减less文件的安全性?
当前代码:
为了保护表格:
ActiveSheet.Protect Password:="MyPassword", UserInterfaceOnly:=True
解除表单保护:
ActiveSheet.Unprotect Password:="MyPassword"
- 在您的VB编辑器中,右键单击该项目,然后单击插入>模块
- 把它叫做“常量”
-
插入以下语句:
Public Const strPwd as String = "MyPassword"
键入常量是可选的,所以'as String'部分是可以尝试的。 你可以在项目中的任何地方使用这个常量,你以前使用过你的字面密码string。
关于安全性,最好的办法是确保你用强密码保护了VB项目本身。 你可以在VB IDE> Tools> VBAProject Properties> Protection选项卡中浏览这些选项。
您可以使用此代码作为示例
Option Explicit Public Const g_strPASSWARD As String = "MyPassword" ' To Protect Sub ProtectSheet(ByRef shToProtect As Worksheet) shToProtect.Protect Password:=g_strPASSWARD, UserInterfaceonly:=True End Sub 'To Protect Sub UnprotectSheet(ByRef shToUnprotect As Worksheet) shToUnprotect.Unprotect Password:=g_strPASSWARD End Sub ' To Use Sub MyTest() ProtectSheet ActiveSheet UnprotectSheet ActiveSheet End Sub
我希望这有帮助。