Подтвердить что ты не робот

Заблокировать макрос Microsoft Excel

Я потратил некоторое время на создание макроса Excel, который потенциально стоит деньгам для многих компаний.

Как заблокировать макрос, чтобы люди не видели источник/переадресацию другим людям?

Спасибо

4b9b3361

Ответ 1

Защитить/заблокировать код VBA Excel:

Когда мы пишем код VBA, часто желательно иметь код макроса VBA не видны конечным пользователям. Это защита ваших интеллектуальных собственности и/или прекратить пользователям возиться с вашим кодом. Просто знайте что способность защиты Excel далека от того, что будет рассмотрено безопасный. Есть также много VBA Password Recovery [tools] для продажи на WWW.

Чтобы защитить свой код, откройте книгу Excel и перейдите к Инструменты > Макро > Редактор Visual Basic (Alt + F11). Теперь, изнутри VBE в Инструменты > Свойства VBAProject, а затем перейдите на вкладку "Страница защиты" а затем установите флажок "Заблокировать проект из просмотра", а затем введите пароль и еще раз, чтобы подтвердить это. После этого вы должны сохранить, закрыть и снова открыть Рабочую книгу для защиты.

(Акцент мой)

Кажется, лучше всего. Это не остановит людей, решивших украсть ваш код, но этого достаточно, чтобы остановить случайных пиратов.

Помните, что даже если бы вы могли распространять скомпилированную копию своего кода, было бы нечего останавливать людей декомпилировать его.

Ответ 2

Вы можете проверить этот новый продукт на http://hivelink.io, он позволяет правильно защищать ваши чувствительные макросы.

Система паролей Excel чрезвычайно слаба - вы можете взломать ее через 2 минуты, просто используя базовый редактор HEX. Я бы не рекомендовал полагаться на это, чтобы защитить что-либо.

Я написал обширное сообщение на эту тему здесь: Защита кода в книге Excel?

Ответ 3

Так же, как вы можете защитить паролем книги и рабочие листы, вы можете защитить паролем макрос в Excel от просмотра (и выполнить).

Поместите на рабочий лист команду и добавьте следующие строки кода:

  • Сначала, создайте простой макрос, который вы хотите защитить.

    Range("A1").Value = "This is secret code"

  • Далее, нажмите Инструменты, затем Свойства VBAProject...

введите описание изображения здесь

Нажмите "Инструменты", "Свойства VBAProject"...

  1. На вкладке Защита установите флажок Заблокировать проект для просмотра "и дважды введите пароль.

введите описание изображения здесь

Введите пароль дважды

  1. Нажмите ОК.

  2. Сохранить, закрыть и снова открыть файл Excel. Попробуйте просмотреть код.

введите описание изображения здесь

Появится следующее диалоговое окно:

Пароль, защищенный от просмотра

Вы все равно можете выполнить код, нажав на кнопку команды, но вы больше не можете просматривать или редактировать код (если вы не знаете пароль). Пароль для загружаемого файла Excel "легко".

  1. Если вы хотите защитить паролем макрос от выполнения, добавьте следующие строки кода:
Dim password As Variant
password = Application.InputBox("Enter Password", "Password Protected")

Select Case password
    Case Is = False
        'do nothing
    Case Is = "easy"
        Range("A1").Value = "This is secret code"
    Case Else
        MsgBox "Incorrect Password"
End Select

Результат, когда вы нажимаете кнопку команды на листе:

введите описание изображения здесь

Пароль защищен от выполнения

Объяснение. Макрос использует метод InputBox объекта Application. Если пользователи нажимают кнопку Отмена, этот метод возвращает False, и ничего не происходит (InputBox исчезает). Только когда пользователь знает пароль ( "легко" снова), секретный код будет выполнен. Если введенный пароль неверен, отображается MsgBox. Обратите внимание, что пользователь не может взглянуть на пароль в редакторе Visual Basic, потому что проект защищен от просмотра

Ответ 4

вы можете установить пароль в свой код vba, но это можно легко разбить.

вы также можете создать addin и скомпилировать его в DLL. См. здесь для получения дополнительной информации. Это, по крайней мере, самый безопасный способ защитить ваш код.

Привет,

Ответ 5

Современный подход состоит в том, чтобы отойти от VBA для важного кода и написать управляемую надстройку .NET с использованием С# или vb.net, для этого на WWW существует много ресурсов, и вы можете использовать Express версия MS Visual Studio

Ответ 6

Создайте защищенное приложение для Mac или Windows из электронной таблицы Excel, используя OfficeProtect с помощью AppProtect или QuickLicense/AddLicense. На веб-сайте www.excelsoftware.com/videos есть демонстрационное видео под названием "Защитить Excel Spreedsheet".