Я потратил некоторое время на создание макроса Excel, который потенциально стоит деньгам для многих компаний.
Как заблокировать макрос, чтобы люди не видели источник/переадресацию другим людям?
Спасибо
Я потратил некоторое время на создание макроса Excel, который потенциально стоит деньгам для многих компаний.
Как заблокировать макрос, чтобы люди не видели источник/переадресацию другим людям?
Спасибо
Защитить/заблокировать код VBA Excel:
Когда мы пишем код VBA, часто желательно иметь код макроса VBA не видны конечным пользователям. Это защита ваших интеллектуальных собственности и/или прекратить пользователям возиться с вашим кодом. Просто знайте что способность защиты Excel далека от того, что будет рассмотрено безопасный. Есть также много VBA Password Recovery [tools] для продажи на WWW.
Чтобы защитить свой код, откройте книгу Excel и перейдите к Инструменты > Макро > Редактор Visual Basic (Alt + F11). Теперь, изнутри VBE в Инструменты > Свойства VBAProject, а затем перейдите на вкладку "Страница защиты" а затем установите флажок "Заблокировать проект из просмотра", а затем введите пароль и еще раз, чтобы подтвердить это. После этого вы должны сохранить, закрыть и снова открыть Рабочую книгу для защиты.
(Акцент мой)
Кажется, лучше всего. Это не остановит людей, решивших украсть ваш код, но этого достаточно, чтобы остановить случайных пиратов.
Помните, что даже если бы вы могли распространять скомпилированную копию своего кода, было бы нечего останавливать людей декомпилировать его.
Вы можете проверить этот новый продукт на http://hivelink.io, он позволяет правильно защищать ваши чувствительные макросы.
Система паролей Excel чрезвычайно слаба - вы можете взломать ее через 2 минуты, просто используя базовый редактор HEX. Я бы не рекомендовал полагаться на это, чтобы защитить что-либо.
Я написал обширное сообщение на эту тему здесь: Защита кода в книге Excel?
Так же, как вы можете защитить паролем книги и рабочие листы, вы можете защитить паролем макрос в Excel от просмотра (и выполнить).
Поместите на рабочий лист команду и добавьте следующие строки кода:
Сначала, создайте простой макрос, который вы хотите защитить.
Range("A1").Value = "This is secret code"
Далее, нажмите Инструменты, затем Свойства VBAProject...
Нажмите "Инструменты", "Свойства VBAProject"...
Введите пароль дважды
Нажмите ОК.
Сохранить, закрыть и снова открыть файл Excel. Попробуйте просмотреть код.
Появится следующее диалоговое окно:
Пароль, защищенный от просмотра
Вы все равно можете выполнить код, нажав на кнопку команды, но вы больше не можете просматривать или редактировать код (если вы не знаете пароль). Пароль для загружаемого файла Excel "легко".
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, потому что проект защищен от просмотра
вы можете установить пароль в свой код vba, но это можно легко разбить.
вы также можете создать addin и скомпилировать его в DLL. См. здесь для получения дополнительной информации. Это, по крайней мере, самый безопасный способ защитить ваш код.
Привет,
Современный подход состоит в том, чтобы отойти от VBA для важного кода и написать управляемую надстройку .NET с использованием С# или vb.net, для этого на WWW существует много ресурсов, и вы можете использовать Express версия MS Visual Studio
Создайте защищенное приложение для Mac или Windows из электронной таблицы Excel, используя OfficeProtect с помощью AppProtect или QuickLicense/AddLicense. На веб-сайте www.excelsoftware.com/videos есть демонстрационное видео под названием "Защитить Excel Spreedsheet".