Мое почтение, джентльмены...
Делал для себя инструмент позволяющий хранить уже наработанный VBA код и его исполнять из XLL.
Но тут случился Омикрон и проснулся сумрачный гений или случился сон разума... скорее второе...
Сон прошел, но вот что осталось...
Своим VBA-решением можно поделится с коллегами. Они смогут его использовать, но не смогут посмотреть код.
Функционал:
+Создана форма для загрузки и выполнения загруженного VBA-кода (загружаемый код - с Option Explicit и другими операторами).
+Можно запускать прямо с главной панели (выбрав из списка нужный)
+Можно задавать пароль на просмотр (по умолчанию это слово "Пароль")
+Можно смотреть VBA-код, если знаешь пароль.
+Можно выполнять VBA-код, даже если не знаешь пароль.
+Код хранится зашифрованный в файле сохранения настроек библиотеки (BedvitXLL.bin).
+Пароль не хранится, а хранится его хеш
+VBA-код может загрузить любой пользователь и любой пользователь его использовать, при условии включенного доступа к объектной модели проектов VBA.
-пока работает только один модуль VBA
-выполняется только Sub() без аргументов, или с аргументами по умолчанию в качестве стартовой процедуры. В самом коде нет ограничений. Просто вызов с кнопки, аргументы сейчас не передаются. Но доработать можно при наличии интереса.
-нельзя использовать Function(), другими словами UDF.
-функционал скромный, обрисовал только концепцию (на большее просто нет времени)
-кнопка "сохранить в файл" для сохранения кода в формате С++(доп.функционал для автора, для пользователя не нужная), все настройки сохраняются автоматически при загрузке.

или
В библиотеки предзагруженный тестовый код с паролем по умолчанию (можно посмотреть - кнопка "показать код")
Кому интересно, прошу протестировать.
Автору так же интересен момент, есть ли дыры в защите.
Пишите, заделаем бреши, если они есть (проект создан чисто из спортивного интереса)
Делал для себя инструмент позволяющий хранить уже наработанный VBA код и его исполнять из XLL.
Но тут случился Омикрон и проснулся сумрачный гений или случился сон разума... скорее второе...
Сон прошел, но вот что осталось...
Своим VBA-решением можно поделится с коллегами. Они смогут его использовать, но не смогут посмотреть код.
Функционал:
+Создана форма для загрузки и выполнения загруженного VBA-кода (загружаемый код - с Option Explicit и другими операторами).
+Можно запускать прямо с главной панели (выбрав из списка нужный)
+Можно задавать пароль на просмотр (по умолчанию это слово "Пароль")
+Можно смотреть VBA-код, если знаешь пароль.
+Можно выполнять VBA-код, даже если не знаешь пароль.
+Код хранится зашифрованный в файле сохранения настроек библиотеки (BedvitXLL.bin).
+Пароль не хранится, а хранится его хеш
+VBA-код может загрузить любой пользователь и любой пользователь его использовать, при условии включенного доступа к объектной модели проектов VBA.
-пока работает только один модуль VBA
-выполняется только Sub() без аргументов, или с аргументами по умолчанию в качестве стартовой процедуры. В самом коде нет ограничений. Просто вызов с кнопки, аргументы сейчас не передаются. Но доработать можно при наличии интереса.
-нельзя использовать Function(), другими словами UDF.
-функционал скромный, обрисовал только концепцию (на большее просто нет времени)
-кнопка "сохранить в файл" для сохранения кода в формате С++(доп.функционал для автора, для пользователя не нужная), все настройки сохраняются автоматически при загрузке.
или
В библиотеки предзагруженный тестовый код с паролем по умолчанию (можно посмотреть - кнопка "показать код")
Кому интересно, прошу протестировать.
Автору так же интересен момент, есть ли дыры в защите.
Пишите, заделаем бреши, если они есть (проект создан чисто из спортивного интереса)
Изменено: - 10.04.2022 17:19:00
«Бритва Оккама» или «Принцип Калашникова»?