Мой старый сайт и зеркало-архив (осторожно, на сайте реклама!)
Как установить и настроить библиотеку/надстройку BedvitXLL для Excel. Проблемы и решения.
УСТАНОВИТЬ
Устанавливается так же, как и "обычная" надстройка Excel (xla, xlam) в папку надстроек или просто открывается как файл.
Для Excel x32 - версия библиотеки (х32), для Excel х64 - версия (х64). Начиная с версии BedvitXLL 5.0, поддерживается Windows8 и выше, т.е. не поддерживается Windows7, но периодически выходит спец. выпуск BedvitXLLwin7 (спец.выпуски можно посмотреть в Новостях)
XLL содержит библиотеку BedvitCOM, и может автоматически распаковывать (в пользовательский "TEMP") и регистрировать COM при открытии XLL, и автоматически удалять COM из реестра при закрытии XLL (с правами пользователя), см. ниже.
Есть несколько вариантов установки:
+Ручной - стандартный способ установки обычных надстроек Excel:
1.Добавляем/сохраняем нужный файл/надстройку в папку надстроек (той разрядности, которой у вас Excel - как посмотреть в инструкции ниже)
2.Подключаем
Видеоинструкция ниже
+Автоматический - написал установщик (для ленивых, как я)
Жмем в архиве BedvitXLL...Installer нужной разрядности и парой кликов мышки все устанавливаем и подключаем.
Для установщика не нужны библиотеки, он самодостаточен (библиотеки нужной разрядности упакованы в ресурсах установщика) .
Отдельные библиотеки в архиве для тех, кто предпочитает самостоятельную ручную установку, без инсталляторов (см. выше)
КАК ПОДКЛЮЧИТЬ BedvitCOM в XLL?
Если нужен весь функционал встроенной библиотеки BedvitCOM, подключите эту библиотеку в меню XLL: Вкладка "Надстройки", кнопка "BedvitCOM: OFF/ON/R"
Ваш выбор сохраняется, и при следующем открытии XLL он будет активирован.
Для отключения встроенной библиотеки BedvitCOM, кликните по кнопке еще раз (см. порядок переключения ниже)
Для возможности использования в VBA раннего связывания с библиотекой 'BedvitCOM' в автоматическом режиме (автовключение в Referenсes(VBA)) - нужно включить галку в Excel: 'Доверять доступ к объектной модели проектов VBA'
Если не включать галку 'Доверять доступ к объектной модели проектов VBA' - можно подключить BedvitCOM в Referenсes(VBA) самостоятельно (индивидуально для каждого файла)
или пользоваться поздним связыванием (не нужно подключение СОМ в References (VBA) - вариант R), см. варианты ниже.
Выбор вариантов регистрации библиотеки BedvitCOM в реестре и автоподключении в References (VBA) осуществляется командой/кнопкой меню "BedvitCOM: OFF/ON/R"
OFF - нет автоподключения (ни в реестре Windows, ни в References (VBA))
ON - есть автоподключение (и в реестре Windows, и в References (VBA)) - нужна галка в 'Доверять доступ к объектной модели проектов VBA'
R - только регистрация в реестре Windows (нет автоподключения в References (VBA)) - рекомендован по умолчанию, для обычного пользователя.
Порядок переключений: OFF->ON->R->OFF
НАСТРОИТЬ МЕНЮ
Надстройка BedvitXLL дает пользователю возможность настраивать меню и контекстное меню - включая нужные команды и отключая не используемые.
Видеоинструкция ниже:
ПРОБЛЕМЫ ПРИ УСТАНОВКЕ И НАСТРОЙКЕ:
1. ПРОБЛЕМА: при установке надстройки вы получаете одно из следующих сообщений:
1.1 (в Excel 2007-2010) "Файл BedvitXLL.xll не является надстройкой" (“BedvitXLL.xll is not a valid add-in.”) или "Действительный формат открываемого файла (BedvitXLL.xll) отличается от указанного его расширением имени файла..."
1.2 (в Excel 2013 - Excel 2021 / Office 365) "Формат файла BedvitXLL.xll не соответствует расширению файла. Возможно, файл поврежден или небезопасен..."
ПРИЧИНА: это проблема - практически всегда означает, что вы выбрали версию/разрядность файла, не соответствующею вашей версии/разрядности Excel или ваша ОС не поддерживается (Windows 7 и более ранние версии)
РЕШЕНИЕ: Повторите процедуру установки, выбрав нужную разрядность надстройки BedvitXLL или скачайте спец. версию для Windows 7 (если причина в win7).
2.ПРОБЛЕМА: При автоматической регистрации библиотеки BedvitCOM в реестре и автоподключении в References (VBA) команда меню "BedvitCOM: ON" - при создании книги, открытии/сохранении/закрытии книги возникает сообщение "This action will reset your project, proceed anyway?"("Это действие приведет к сбросу проекта. Вы действительно хотите выполнить его?"):
ПРИЧИНА: При автоматическом подключении в References (VBA) библиотеки BedvitCOM - происходит сброс всех переменных уровня модуля для работающего проекта. Даже если нет проекта (новая книга), это действие все равно срабатывает и выводится соответствующее сообщение (см. выше).
РЕШЕНИЕ 1: Это сообщение можно отключить, сняв галку "Notify Before State Loss" в свойствах проекта VBA: VBA Editor->Tools->Options->General->"Notify Before State Loss"->OFF
РЕШЕНИЕ 2: Выбрать вариант подключения СОМ (см. выше) -> "BedvitCOM: R" (только регистрация в реестре Windows (нет автоподключения в References (VBA)) - для случаев, когда вам не нужно автоматическое подключение для открываемых, активных файлов (перед закрытием файла, ссылка на СОМ в References (VBA) - отключается) или когда вы сами, вручную подключаете, или когда вы пользуетесь поздним связыванием с СОМ (и вам не нужно подключение СОМ в References (VBA))