Как Удалить Надстройку в Excel из Реестра • Мой рабочий процесс
Процесс обновления надстройки Excel?
В настоящее время они включают в себя запуск другой книги с событием workbook_open , которое изменяет надстройку.
То, что я хотел бы иметь, – это надстройка, обнаруживающая, что доступна более новая версия и тихо ее устанавливает, прежде чем продолжать работу с пользователем. Проблема заключается в том, что это не удается на первом этапе удаления существующей версии, потому что любой код в надстройке сразу же заканчивается, когда надстройка удаляется.
Я бы создал некоторый код в пользователе personal.xls “на лету”, чтобы обрабатывать переход, но я не могу установить флаг “Доверять доступ к визуальному базовому проекту” на машинах пользователей, поэтому не может быть реплицирован кода в надстройке.
Единственный способ, который я вижу здесь, состоит в том, чтобы иметь две надстройки: одну, которая обрабатывает обновления, и одну, которая фактически выполняет эту работу. Проблема возникает, когда я неизбежно должен обновить надстройку обновления!
Может ли кто-нибудь предложить лучшее решение? Это должен быть 100% Excel, не VSTO и т.д.
Было приятно, что Дик Куслайка написал блог об управлении надстройками сегодня!
Некоторые хорошие предложения, которые могут быть применены к моей ситуации там.
- Основное дополнение может обновить загрузчик
- Если основной аддон нуждается в обновлении, он загружает загрузочный файл, а затем использует вызов OnTime для планирования вызова процедуры бутстрапа в начальной загрузке и сразу же выгружает себя.
- Выполняется вызов ontime.
- загрузочный загрузочный файл загружает основное дополнение, перезагружает основной аддон, выгружает сам.
Один из способов я достиг чего-то подобного, хотя, некоторое время назад, выглядит следующим образом:
Предоставьте кнопку “Обновить” на общей странице (это может быть общий файл, если вы используете много), и когда пользователи нажимают на него, он открывает xls в сетевом расположении и копирует код из этого файла в локальный файл и закрывает вновь открытые файлы.
Таким образом, всякий раз, когда у меня было обновление, я отправлял электронное письмо с просьбой обновить код локально.
Работало так, что у меня было мало пользователей, а обновлений было довольно мало. Если вы хотите автоматическое обновление, что мешает вам проверять номер версии в каждом открытии файла.
Используя развертывание ClickOnce из коробки, версия надстройки проверяется всякий раз, когда запускается приложение, использующее его (Excel). Не уверен, что вы можете развернуть не управляемый код таким образом.
Я попробовал что-то другое, шаг за шагом:
1. напишите addin и поместите его на разделенное пространство диска
2. добавьте проект в ссылки VBA
3. Ваши функции и макросы, используемые в листах excel, добавляют в качестве ссылок на дополнения
каждый раз, когда загружаются листы, добавляются новые дополнения и ссылки.
i запустите решение кнопки обновления, из-за проблем, когда сеть не подключена к сети.
Поскольку я нигде не нашел “рабочего процесса”, я опубликую свой опыт со вчерашнего дня, когда я столкнулся почти с той же проблемой. (Нет автоматических обновлений)
В ссылке @Lunatik на dilydoseofexcel.com Чарльз опубликовал свой Addin (можно загрузить с http://www.decisionmodels.com/downloads.htm#addload), который разрешил мою ситуацию.
Предпосылки
Любой пользователь, который хочет использовать плагины на удаленном сервере, должен добавить надстройку AddLoaderV2.xla .
сооружения
Примечание: префикс USER папки – это мое предпочтение, потому что я поддерживаю надстройки для большого количества людей.
Мой рабочий процесс (обновление Addin)
- Когда я хочу обновить FinancialFunctions_v0.0.2.xlam , я делаю копию (потому что v0.0.2 используется многими людьми): dev_FinanctialFunction_v0.0.3.xlam
- Я открываю v0.0.3 и делаю необходимые изменения
- Когда я FinanctialFunctions_v0.0.3.xlam , я переименую его в FinanctialFunctions_v0.0.3.xlam
- Я отправляю электронное письмо в мой отдел, эта новая версия доступна
- Теперь каждый новый открытый Excel будет auto загружать (определенный в AddinLoad.txt ) v0.0.3
- Если пользователь не хочет закрывать свой Excel, на вкладке Addins есть: https://i.imgur.com/H2ru2hV.png, поэтому пользователь просто выбирает надстройку для перезагрузки.
закрытие
Я предполагаю, что это не будет много работы, чтобы сделать некоторые автоматизации от вашего Addin как “проверить, если новая версия доступна, если да, то вызовите reload функцию AddLoaderV2 Addin.”
Надеюсь, это кому-нибудь поможет. Моя самая большая проблема понимания именования .xlam файлов и AddinLoad.txt имени корня всегда загружать только самую последнюю версию. Существует 3-страничный файл readme, когда вы загружаете его Addin.
Теперь я должен найти что-то похожее, чтобы загрузить дополнения PowerPoint…
Как сделать свою надстройку в excel?
- Основное дополнение может обновить загрузчик
- Если основной аддон нуждается в обновлении, он загружает загрузочный файл, а затем использует вызов OnTime для планирования вызова процедуры бутстрапа в начальной загрузке и сразу же выгружает себя.
- Выполняется вызов ontime.
- загрузочный загрузочный файл загружает основное дополнение, перезагружает основной аддон, выгружает сам.
Единственный способ, который я вижу здесь, состоит в том, чтобы иметь две надстройки: одну, которая обрабатывает обновления, и одну, которая фактически выполняет эту работу. Проблема возникает, когда я неизбежно должен обновить надстройку обновления!
Публикуя свою персональную информацию в открытом доступе на нашем сайте вы, даете согласие на обработку персональных данных и самостоятельно несете ответственность за содержание высказываний, мнений и предоставляемых данных. Мы никак не используем, не продаем и не передаем ваши данные третьим лицам.