声明表单密码的全局variables

我有一个更大的Excel文件与多个工作表和模块。 在这些代码中,我需要暂时保护或解除密码保护,以更新某些受保护的零件。

到目前为止,我使用下列其中一行工作,但这意味着密码在整个代码中出现多次。 有没有办法像一个全局variables一样声明这个密码 ,然后在需要的时候只需要引用这个variables,这样只要需要更改就只需要修改一次。 此外,这会减less文件的安全性?

当前代码:
为了保护表格:

ActiveSheet.Protect Password:="MyPassword", UserInterfaceOnly:=True 

解除表单保护:

 ActiveSheet.Unprotect Password:="MyPassword" 

  1. 在您的VB编辑器中,右键单击该项目,然后单击插入>模块
  2. 把它叫做“常量”
  3. 插入以下语句:

    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 

我希望这有帮助。