Конференція VBStreets - Перегляд теми - Видалити надбудову зі списку надбудов
Як при виході з xls видалити надбудову зі списку надбудов?
Проблема пов'язана із наступним. При відкритті файлу xls надбудова додається та активується (галочка ставиться), а при виході дезактивується. При відкритті будь-якого файлу на цьому комп'ютері надбудова існує у списку надбудов. І якщо я намагаюся додати надбудову з таким самим ім'ям, але з іншого місця, нічого не виходить (надбудова залишається стара з попереднім шляхом). Видалити можу тільки ручками: якщо видалити надбудову з місця на диску, з якого вона бралася і намагатися її активувати, виникає питання видаляти чи ні. Але в макрос нічого не записується.
Не зовсім у тему приєднався. Референси та компоненти взагалі з іншої області, і знімаються через VBE. У пошук.
Як addin зняти засобами excel, я не знаю. А що буде, якщо видалити файл, після чого зробити .installed=true?
Для Excel XP немає явного способу видалення елемента з колекції Addlns. Колекція Addlns немає методу D e l e t e чи Remove. Одним із способів видалення надбудови з діалогового вікна Надбудови є безпосереднє редагування пари метра системного реєстру (HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Excel\Add-in Manager). Ще одним способом видалення надбудови з колекції Addlns є видалення, переміщення або перейменування файлу XLA, який містить надбудову. При наступній спробі встановлення новки цієї надбудови буде відображено попередження. У цьому попередження користувачеві надається можливість видалити надбудову з колекції Addlns.
To Gserg Даремно ви мене прогнали в пошук. Там, на жаль, нічого не знайшов. (Погано не шукав)
Я роблю так: Код: Виділити все For Each ref InApplication.ThisWorkbook.VBProject.References If ref.Name = "Ім'я вба проекту у вашому xla (врахуйте, не файлу xla)" Then Application.ThisWorkbook.VBProject.References.Remove ref Next ref
Str = ThisWorkbook.Path “або потрібне вам Application.ThisWorkbook.VBProject.References _ .AddFromFile Str & "\ Ім'я файлу xla .xla" Головне не отримати конфлікт імен VBA проектів у проектах у головній книзі та в завантажуваній. І наприкінці: Код: Виділити все Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Тут якісь перевірки у мене, вже не пам'ятаю, для чого. .Remove ref Next ref End Sub Так, по шматочках приєдную код з різних файлів які в сумі іноді важать близько 30 мб зі своїми формами класами і.т.д. А в основній книзі у мене лише одна кнопка в тулбарі та маленьке меню того, що хочу приєднати. І взагалі не дивлюся у бік надбудов.
Не зрозуміла я поки що таке проектні референси. Але з надбудовами вже намучилася: заходять кілька людей, підключають надбудову, і сітка не витримує (або висить чи лається). А те, що запропонував Avtopic, поки не виходить. Лається на конфлікт імен, а в головній книзі взагалі ще нічого немає, крім підключення референсів
Вже не свариться. Спробую так.
Дякую. Вже поставила.
GSerg, а в чому відмінність референсів від надбудов? Я щось особливо не помітила різниці, крім того, що галочки стоять у різних місцях.
Виходячи з Вашого пояснення, мені більше підходять референси. Мені здається, що я ними користуюся, а не Excel. Хоча. Як відокремити себе від Excel?
Вирішила спробувати підключити через референси,подивитися, чим відрізняється у роботі. Але при спробі одночасно підключити той же файл xla, але з іншого xls отримую помилку Код: Виділити все Error in loading DLL
А можна докладніше чи заслання?