То, что вы представляете, невозможно.
Для запуска макроса в шаблоне этот шаблон должен быть открыт или загружен как надстройка. В этом случае в шаблоне есть «блокировка файла»: его нельзя переместить или удалить.
Удаление шаблона должно выполняться из кода, который не связан с шаблоном, когда шаблон закрыт и существует больше не является файловой блокировкой.
Редактировать на основе новой информации, отредактированной в вопросе
Возможно, код в другом файле мог бы сделать это хотя нет уверенности, что блокировка файла будет снята своевременно после того, как метод Unload
удалит ее из Word. Может потребоваться выполнение кода на таймере для повторения команды Kill
до тех пор, пока она не будет успешной.
Используйте атрибут idQ
для вкладки / группы RibbonX, которая будет содержать кнопку «Удалить». Это позволяет другим RibbonX совместно использовать вкладку / группу, используя то же значение idQ
. Поместите ленту XML, определяющую эту кнопку, а также код для нее, в другой файл. Когда ленты обоих файлов загружены, они будут отображаться пользователю как одна лента.
Шаблон запуска будет загружать этот другой файл как надстройку, используя метод Application.AddIns.Add
.
.