Отменить регистрацию XLL-файла в Excel (VBA)

#excel #vba #xll

#excel #vba #xll

Вопрос:

Я только открываю для себя мир программирования XLL для Excel с использованием XLW в Visual C 2010, и до сих пор все было гладко с использованием шаблона, поставляемого с пакетом XLW, у меня есть несколько вопросов:

  1. Я обнаружил, что могу зарегистрировать XLL, дважды щелкнув по нему. Какие еще существуют способы, особенно из VBA или меню Excel?
  2. Как я могу отменить регистрацию XLL, как через графический интерфейс Excel, так и через VBA? Я предполагаю, что это должно выполняться каждый раз, когда я перестраиваю Xll в Visual Studio.
  3. Требуется ли для 64-разрядной версии Excel 2010 скомпилированные и связанные XLL-файлы для 64-разрядной версии?

Спасибо, Стив

Ответ №1:

Обычно я использую приведенное ниже, поскольку мне приходится несколько раз одалживать / выгружать xla во время сеанса Excel. Дайте мне знать, если это сработает для вас:

 AddIns.Add Filename:= "C:test1.XLL"
AddIns("Pricer Add-In").Installed = False

AddIns.Add Filename:= "C:testArbitrage.XLL"
AddIns("Pricer Add-In").Installed = True
  

вы должны убедиться, что путь к файлу и имя надстройки совпадают. Чтобы проверить имя надстройки, перейдите в Сервис -> Надстройка.

вы также можете использовать функцию «Записать макрос» и начать запись, а также отключить / включить надстройку / xll из меню Сервис -> Надстройка. Удачи

Комментарии:

1. Извините, Бек, предполагается ли, что эти команды запускаются из редактора Visual Basic в Excel?

2. да, вы можете создать функцию в VBA или использовать Immediate window для их запуска

3. Просто чтобы немного расширить этот приятный ответ … если вы имеете дело с COM XLL (или даже обычным XLL, если на то пошло), обязательно сделайте это, например, в событиях Open и BeforeClose книги. Вы можете не увидеть никаких изменений, если запустите этот код и продолжите использовать тот же экземпляр приложения Excel.

Ответ №2:

Добавляю немного к приведенному выше ответу.

1) Вы можете зарегистрировать DLL в Tools / Addins в версиях до 2007, после 2007 вам нужно нажать addins на вкладке разработчик или перейти на вкладку Надстройки на странице параметров Excel и нажать Go после Управления надстройками Excel. В любом из этих мест вы можете перейти к файлу, который автоматически зарегистрирует его.

2) как и выше, снятие флажка выгружает надстройку из Excel. Вам не нужно повторно регистрироваться при каждой сборке, если dll находится в одном и том же месте.

3) Да, любые 64-разрядные XLL должны быть скомпилированы для 64-разрядных