Объявлять глобальную переменную для пароля листа

У меня большой файл Excel с несколькими листами и модулями. В коде для каждого из них мне нужно временно защищать или защищать защищенный паролем лист, чтобы обновить некоторые защищенные части.

До сих пор я использую одну из следующих строк, которая работает, но это означает, что пароль появляется несколько раз во всем коде. Есть ли способ, чтобы я мог объявить этот пароль только один раз, как глобальную переменную, а затем просто ссылаться на эту переменную, когда это необходимо, чтобы ее можно было изменить только один раз, если есть необходимость в изменении? Кроме того, уменьшит ли безопасность файл?

Текущий код:
Чтобы защитить лист:

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

Для снятия защиты с листа:

 ActiveSheet.Unprotect Password:="MyPassword" 

  1. В своем редакторе VB щелкните правой кнопкой мыши по проекту, а затем вставьте> Модуль
  2. Назовите это что-то полезное, как «Константы»
  3. Вставьте следующее заявление:

    Public Const strPwd as String = "MyPassword"

Необязательно вводить константу, поэтому часть «как String» находится по вкусу. Вы можете использовать эту константу в любом месте вашего проекта, где ранее использовалась бы буквальная строка пароля.

Что касается безопасности, лучше всего будет убедиться, что вы защитили сам проект VB с надежным паролем. Вы можете изучить варианты здесь, в VB IDE> Инструменты> Свойства VBAProject> Защита.

Вы можете использовать этот код в качестве примера

 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 

Надеюсь, это поможет.

Давайте будем гением компьютера.