#excel #vba #xll
#excel #vba #xll
Вопрос:
Я только открываю для себя мир программирования XLL для Excel с использованием XLW в Visual C 2010, и до сих пор все было гладко с использованием шаблона, поставляемого с пакетом XLW, у меня есть несколько вопросов:
- Я обнаружил, что могу зарегистрировать XLL, дважды щелкнув по нему. Какие еще существуют способы, особенно из VBA или меню Excel?
- Как я могу отменить регистрацию XLL, как через графический интерфейс Excel, так и через VBA? Я предполагаю, что это должно выполняться каждый раз, когда я перестраиваю Xll в Visual Studio.
- Требуется ли для 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-разрядных