Какого-то особого кейса нет. У меня тоже закончился ssl и я его просто не стал покупать. Перевел на http, отключил автоадресацию на https. НО! У меня нет коммерции на сайте, нет форума, нет личных данных пользователей. Считай Вики + файловое хранилище. Для особо мнительный, сделал зеркало на https (своем старом, бесплатном сайте). Посмотрим будет ли там прддержка https и дальше. Поэтому у меня ситуация была проще) Я бы подождал все же уже оплаченный ssl. Если не придет - есть российские центры сертификации, поддерживаемые некоторыми браузерами (насколько широко?) Можно будет купить там.
04/05/2022 - v.3.1.0.0 - релиз Оптимизировал отрисовку меню при удалении и добавлении команд. Добавил возможность подключить все и отключить все кнопкой. Обновил файл с видео. Залил новые версии библиотек/надстроек на сайт.
04/05/2022 - v.3.1.0.0(beta) - настраиваемое меню Для спецов, которым не нужен весь функционал xll в главном и контекстном меню - сделал возможность настраивать необходимый функционал персонально. Настройки хранятся в .bin (там же, где и код VBA). Посему, можно настроить видимость команд, загрузить VBA-код, переслать заказчику, и при открытии заказчиком .bin - будет видимость только нужных команд (т.е. теперь не нужна отдельная/минимальная версия библиотеки, всё можно сделать в стандартной, с нормальным дальнейшим обновлением функционала)
з.ы. у всех команд есть всплывающие подсказки, в.ч. и в настройках меню.
Прошу тестировать. Критика, предложения и пожелания - принимаются.
04/05/2022 - v.3.1.0.0 - релиз Оптимизировал отрисовку меню при удалении и добавлении команд. Добавил возможность подключить все и отключить все кнопкой. Обновил файл с видео. Залил новые версии библиотек/надстроек на сайт.
Jack Famous написал: Было бы очень удобно иметь функцию с 2мя параметрами (диапазон, имя функции для обработки каждого значения). Сейчас это возможно только через Application.Run "Name",
так сделай такую функцию. Почему только через Application.Run? Открой новую тему, там обсудим.
По теме: выяснилась интересная особенность - выполнять макросы из библиотеки можно и в .xlsx, главное, что бы они были разрешены и открыт доступ к объектной модели проектов VBA.
Коллеги, скорее всего будет улучшения по алгоритмам шифрования и возможно здесь же внесу большие изменения по формату сохранения пользовательских данных. Как будут готовы обновления, выложу новую версию+версию с мин. набором команд.
Jack Famous написал: вшивает в книгу дешифратор с заданным ключом, который сможет выполнить код
как защищен этот дештфратор? На каком языке написан? На vba? я как конечный пользователь смотрю его код и спокойно расшифровываю нужный участок закрытого кода. Обсфукатор на порядок ниже по защите чем данное решение, здесь код зашифрован, а не заменены именна переменных. Которые все равно легко парсятся в итоге, хоть чуть сложнее, чем с открытым кодом.
Работает - это хорошо. Внесение нового функционала зависит от свободного времени автора и уровнем интереса в реализации чего-то нестандартного. Выкладывать на неделю нет смысла, ибо потом тема будет, а решения не будет, это неправильно. Лучше приложить отдельной ссылкой по просьбе заинтересованных пользователей. Заказчику можно прокоментировать, что это свободно распространяемый, бесплатный набор инструментов и функций, используемый некоторыми спецами на разных форумах, в .т. на Этом, Киберфоруме и т.д. Им пожно пользоватся, при желании. Автор гарантирует отсутствие встроенного вредоносного кода в библиотеке, за исключением пользовательских сохранений (здесь заказчик на свой страх и риск использует данный функционал, подгружая сторонний bin, и запуская макрос). Полного описания фкнционала нет (не успел еще на сайте вики накидать), но есть отдельные темы по разбору: Планета Excel Киберфорум Оффиц. сайт Так же есть краткое описание функционала на каждой кнопке, в виде всплывающей подсказки.
Михаил Л написал: А нельзя ли сделать версию надстройки только для этого дела - XLL хранение и выполнение VBA кода
Можно создать единичную отдельную версию, где почти весь остальной функционал можно отключить. Могу сделать лично для вас. Но в дальнейшем все обновления алгоритмов все равно будут происходить в основной версии. Какой смысл развивать несколько версий одной и той же библиотеки? Проще сделать список включаемых/отключаемых команд в основной версии (когда руки дойдут).
Михаил, спасибо. Представлялось, что размер должен быть одинаков. Количество сохранений может быть любое. Но автоматически все изменения сохраняются в базовом варианте BedvitXLL.bin Он же используется при начальной загрузке xll (применяются сохраненные настройки). Вручную можно выгрузить/загрузить любое сохранение.
Проверьте во втором случае, что бы в папке были два файла (обычно папку настроек можно посмотреть через подключенные надстройки в Excel. + Должнен быть включен доступ к объектной модели проектов VBA. Проверьте. Разрядность xll не должна влиять на функционал и на файл bin. Это бинарный формат, он совместим с х86 и с х64. Т.е. в вашем случае должно работать. Попробуйте создать bin в x32 и использлвать на х64. Не могу проверить, дома х64 Excel. Если не сработает, можно вас попросить посмотреть размер создаваемых bin в Excel x32 и Excel x64?
Да два файла, xll и bin. Все два находятся рядом. При установке надстройки в папке надстроек, при простом открытии xll, в той же папке, что и xll. Если у заказчика уже стоит xll нужной версии, то можно переслать только bin. Все пользовательские настройки хранятся в bin, в т.ч. и зашифрованный код vba. Ему нужно будет просто положить в ту же папку, где и запускаемая xll.
Код хранится в xll, и при изменениях он сохраняется, сразу при загрузке. Можно открыть форму и посмотреть изменения сразу. Никаких доп файлов не нужно.
Какой файл? Данные хранятся в xll. Откройте форму, нажмите "Показать код" и посмотрите сохраняются ли там измененения. Ничего закрывать и открывать не нужно.
Есть у меня одна идея, думаю обсудить здесь с участниками форума. В продолжении своей темы по хранению кода vba. Решил убрать такие недостатки как невозможность udf и все другие. Для этого решил хранить сразу всю xlam. Меры безопасности: 1. Хранение в зашифрованном виде 2. Сам файл запаролен случайным паролем, с открытия до закрытия. 3. Проект запаролен автором. 4. Внесён макрос на событие копирования книги, запрещающее это действие Private Sub workbook_BeforeSave +Правильно ли я понимаю что, скопировать кодом код из запароленного модуля нельзя? +Скопировать кодом файл тоже нельзя. Годно?