Страницы: 1
RSS
Как добавить библиотеку BedvitCOM.dll в свой проект для Excel
 
В общем-то ничего сложного: добавляем в ресурсы листа Excel (там же и код) и вызываем по мере необходимости.
Сделал простой пример, весь функционал в одном листе (код и ресурсы - упакованные библиотеки)
Вообще, способов есть несколько.
Был и второй, через класс - класс в деструкторе сам отключает библиотеку при завершении программы, но нужно переносить модуль класса, а в первом варианте только код листа "ByteSheet"
Автоматическое подключение BedvitCOM.dll, без использования BedvitXLL (если будет интересно могу сделать пример/тему и для BedvitXLL).
т.е. незаметно для пользователя, без лишних меню и без прав администратора (все под пользователем, и BedvitXLL, кстати так же работает и распаковывает BedvitCOM)
Антивирусы не любят такую упаковку в VBA, да и вообще VBA

Проверяю здесь
https://opentip.kaspersky.com/

по мере появления вопросов буду пояснять, что не понятно, если будет интересна данная тема.
К обсуждению.

Файл-пример.

Как испрльзовать:
1. Загрузить, удалить (обновить) библиотеки BedvitCOM32, BedvitCOM64 можно с помощью команды Start_Menu на листе ByteSheet. Этот лист нужен для хранения этих библиотек. Это единственное что нужно перенести в ваш проект, лист с кодом, всё.
2. Для раннего связывания нужно запускать интциализацию библиотеки в отдельной процедуре (см. код в кнопке). Для позднего можно все в одной.
3. Любой код можно писать в процедуре test и любых других, включив их в первоначальный код, где происходит инициализация.Это нужно для раннего связывания. Для позднего можно делать инициализацию библиотеки прямо в своем коде. Но прошу помнить, что жто время. Для увеличения быстродействия, библу лучше подключать один раз на весь период расчета. Не в каждой выполняемой фкнкции включать/выключать.

Собственно всё просто.



bedvit 2022.12.21 - Новый установщик
Механизм регистрации BedvitCOM v2 упрощенный (без вызова Regsvr32), позднее связывание (не нужен доступ к объектной модели VBA)
BedvitCOM регистрируется, но не удаляется. Проверки на уже зарегистрированную нет (каждый раз регистрируем заново)
Файл пример №2
Изменено: bedvit - 21.12.2022 14:22:17
«Бритва Оккама» или «Принцип Калашникова»?
 
bedvit, ну наконец-то ты созрел  :)
Без возможности создавать файл с твоей библой внутри - сфера её применения РЕЗКО сокращается до внутреннего использования на своём компе, а это совсем другой масштаб для разработчика на VBA.
Итак, нужна понятная, но краткая (если так можно) инструкция, что нужно сделать по шагам, чтобы создать файл с кодом, который будет использовать твою библу и работать на любом компе.
Внедрённая в файл била не должна конфликтовать с установленной.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Jack Famous, Добавил описание, конфликтов не должно быть (обновись до последней версии СОМ, XLL, выложил на сайт).Тестируй.
«Бритва Оккама» или «Принцип Калашникова»?
 
Цитата
bedvit: Файл-пример
Не взлетело
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Ты поставил новые версии COM и XLL?
У меня все норм и на рабочем и на домашнем.


Ждем других участников, собрать статистику.
Но я думаю, у тебя просто старые версии конфликтуют.
Изменено: bedvit - 18.10.2022 16:51:41
«Бритва Оккама» или «Принцип Калашникова»?
 
Цитата
bedvit: Ты поставил новые версии COM и XLL?
проверял на старых.
Цитата
bedvit: выложил на сайт
Ссылки прикрепляй - у тебя файлы и на сайте и в блоге (который тоже на сайте, но другом). Не ты ли топишь за отсутствие двусмысленности?…  ;)
Изменено: Jack Famous - 18.10.2022 17:25:18
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Jack Famous, файлы только на сайте, в блоге только описание. Есть еще на народе зеркало, но там не всегда свежие версии (когда бекап делаю, обновляю). И бывает тестовые там выкладываю. Свежие всегда на bedvit.ru
Получилось тест запустить?
Изменено: bedvit - 18.10.2022 17:37:03
«Бритва Оккама» или «Принцип Калашникова»?
 
Цитата
bedvit: Получилось тест запустить?
нет. Рабочий фаервол не даёт скачать. С кибера даёт, но там старое.
Изменено: Jack Famous - 18.10.2022 17:56:05
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Отключи старые библы вручную в референсах vba.
Изменено: bedvit - 18.10.2022 18:00:04
«Бритва Оккама» или «Принцип Калашникова»?
 
bedvit 2022.12.21 - Новый установщик
Механизм регистрации BedvitCOM v2 упрощенный (без вызова Regsvr32), позднее связывание (не нужен доступ к объектной модели VBA)
BedvitCOM регистрируется, но не удаляется. Проверки на уже зарегистрированную нет (каждый раз регистрируем заново)
Файл пример №2
«Бритва Оккама» или «Принцип Калашникова»?
Страницы: 1
Наверх