Как сделать специфическую книгу по функциональности надстроек .xlam? - PullRequest
2 голосов
/ 24 июня 2019

В настоящее время мой офис использует Excel, созданный моей командой для управления определенными видами заказов. Этот файл имеет довольно много функций, которые контролируются некоторыми горячими клавишами и парой пользовательских форм. Каждые пару месяцев, когда мы хотим добавить некоторые новые функции или исправить некоторые ошибки, каждый пользователь должен загрузить обновленный файл. (Старый файл становится непригодным для использования, когда доступна новая версия.)

1003 *

Чтобы сделать этот файл более удобным для пользователя и упростить нам управление текущей версией и распространением новой, я начал преобразовывать этот файл в расширение .xlam. Меня вдохновила публикация пару недель / месяц назад о добавлении в раздачу в офисе.

1007 *

Проблема, с которой я сталкиваюсь сейчас, заключается в том, что загружаемые надстройки параметры надстройки используются для каждой открытой рабочей книги.

Как я хочу использовать надстройку следующим образом:

Когда Excel запущен, вкладка добавления отображается на ленте с видимой 1 кнопкой. При нажатии этой кнопки в рабочую книгу добавляются несколько листов с необходимыми основными данными. А все остальные кнопки теперь видны и включены.

1015 *

Проблема заключается в том, что после нажатия этой кнопки активации все остальные кнопки также становятся видимыми и могут использоваться в любой другой книге, которую пользователь открывает или открывает.

1019 *

Итак, мой вопрос: возможно ли сделать кнопки настраиваемой ленты (видимой или невидимой) определенной книгой? Таким образом, функциональные возможности надстройки доступны только при нажатии кнопки активации в этой конкретной книге. И, наконец, сделать переменные, определенные в надстройке, также специфичными для рабочей книги?

1023 *

Возможно ли это с добавлением .xlam или мне нужно начать с VTSO?

1027 *

1 Ответ

1 голос
/ 25 июня 2019

Это можно сделать в файле. В вашем обратном вызове вы можете использовать Вызовите RefreshRibbon (Tag: = ""), который не будет возвращать совпадения макросов (по замыслу), и поэтому все будет отключено. Это отличный ресурс с несколькими примерами.

https://www.rondebruin.nl/win/s2/win013.htm

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