Удалить файл из папки шаблонов Word - PullRequest
0 голосов
/ 09 февраля 2020

У меня есть файл шаблона (точка) в папке запуска слова - C: \ Users (имя пользователя) \ AppData \ Roaming \ Microsoft \ Word \ STARTUP.

Я хочу иметь макрос ( код VBA) в это файл dotm, который удаляет этот шаблон из папки автозагрузки. Шаблон представляет собой надстройку с пользовательской лентой XML. Я хочу, чтобы одна из моих кнопок была кнопкой «Удалить», которая удаляет файл шаблона из папки автозагрузки.

1 Ответ

0 голосов
/ 09 февраля 2020

То, что вы представляете, невозможно.

Для запуска макроса в шаблоне этот шаблон должен быть открыт или загружен как надстройка. В этом случае в шаблоне есть «блокировка файла»: его нельзя переместить или удалить.

Удаление шаблона должно выполняться из кода, который не связан с шаблоном, когда шаблон закрыт и существует больше не является файловой блокировкой.

Редактировать на основе новой информации, отредактированной в вопросе

Возможно, код в другом файле мог бы сделать это хотя нет уверенности, что блокировка файла будет снята своевременно после того, как метод Unload удалит ее из Word. Может потребоваться выполнение кода на таймере для повторения команды Kill до тех пор, пока она не будет успешной.

Используйте атрибут idQ для вкладки / группы RibbonX, которая будет содержать кнопку «Удалить». Это позволяет другим RibbonX совместно использовать вкладку / группу, используя то же значение idQ. Поместите ленту XML, определяющую эту кнопку, а также код для нее, в другой файл. Когда ленты обоих файлов загружены, они будут отображаться пользователю как одна лента.

Шаблон запуска будет загружать этот другой файл как надстройку, используя метод Application.AddIns.Add.

.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...