Может кто-нибудь подскажет правильный синтаксис XML, который при загрузке файла формата .xlsm, содержащего параметры пользовательской настройки ленты, определенные коvанды (макросы) из этого файла помещал в определенную пользовательскую вкладку, при ее наличии? А конкретно хочется добиться вот какого результата. Предположим, создана и подключена к приложению Excel надстройка. При загрузке приложения надстройка отображается отдельной вкладкой на ленте. Для упрощения задачи моделируем, что приложение Excel уже загружено, а следовательно, подключена и надстройка. Теперь рассматриваем загрузку через приложение файла, содержащего какие-то макросы. Создать при этом отдельную вкладку на ленте, отображающую пользователю возможность их использования, проблем не вызывает. А вот как дать компу инструкции средствами XML кода или иными способами, чтобы эти макросы, объединенные в группу, были помещены именно во вкладку, созданной надстройкой?
Можно даже сформулировать вопрос проще. Как на языке XML обратиться ко вкладке ленты, созданной надстройкой?
Здравствуйте, уважаемые чатлане!
Может кто-нибудь подскажет правильный синтаксис XML, который при загрузке файла формата .xlsm, содержащего параметры пользовательской настройки ленты, определенные коvанды (макросы) из этого файла помещал в определенную пользовательскую вкладку, при ее наличии? А конкретно хочется добиться вот какого результата. Предположим, создана и подключена к приложению Excel надстройка. При загрузке приложения надстройка отображается отдельной вкладкой на ленте. Для упрощения задачи моделируем, что приложение Excel уже загружено, а следовательно, подключена и надстройка. Теперь рассматриваем загрузку через приложение файла, содержащего какие-то макросы. Создать при этом отдельную вкладку на ленте, отображающую пользователю возможность их использования, проблем не вызывает. А вот как дать компу инструкции средствами XML кода или иными способами, чтобы эти макросы, объединенные в группу, были помещены именно во вкладку, созданной надстройкой?
Можно даже сформулировать вопрос проще. Как на языке XML обратиться ко вкладке ленты, созданной надстройкой?Chula7094
Снова приветствую! Все просмотревшим, а также поучаствовавшим в обсуждении спасибо, что потратили свое драгоценное время и уделили внимание теме. В результате детального погружения в изучение матчасти удалось решить обозначенную задачу. Все оказалось даже проще, чем я первоначально думал. Если кому-то это сможет однажды быть полезным, выкладываю решение, суть которого заключается в определение пользовательского пространства имен. Это пространство имен прописывается в структурных файлах customui созданной надстройки и во всех файлах формата .xlsm, используемые команды которых тематически подходят для размещения на вкладе, созданной подключенной надстройкой. Выглядят эти одинаковые обращения к созданному пространству имен в выше обозначенных файлах следующим примерным образом: [vba]
Код
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" xmlns:NmSpcAT="http://customui.myfuturesite.ru"> <ribbon startFromScratch="false"> <tabs> <tab idQ="NmSpcAT:TabAirTable" label="Сетки вещания" insertBeforeMso="TabInsert"> ...(прописываются нужные пользователю группы, кнопки внутри этих групп с их атрибутами) </tab> </tabs> </ribbon> </customUI>
[/vba] И дальше без разницы, подключена ли надстройка или нет, при загрузке нужного нам файла .xlsm всегда перед стандартной вкладкой "Вставка" появится вкладка "Сетки вещания" с группой команд, прописанной в его структурном файле customui. Ну, а если надстройка подключена, которая также при загрузке приложения Excel создает эту вкладку "Сетки вещания", то при загрузке оговариваемого файла .xlsm прописанная в его структурном файле customui группа команд поместится в уже созданную надстройкой одноименную вкладку.
На этом тему можно считать закрытой. Всем еще раз спасибо за внимание.
Снова приветствую! Все просмотревшим, а также поучаствовавшим в обсуждении спасибо, что потратили свое драгоценное время и уделили внимание теме. В результате детального погружения в изучение матчасти удалось решить обозначенную задачу. Все оказалось даже проще, чем я первоначально думал. Если кому-то это сможет однажды быть полезным, выкладываю решение, суть которого заключается в определение пользовательского пространства имен. Это пространство имен прописывается в структурных файлах customui созданной надстройки и во всех файлах формата .xlsm, используемые команды которых тематически подходят для размещения на вкладе, созданной подключенной надстройкой. Выглядят эти одинаковые обращения к созданному пространству имен в выше обозначенных файлах следующим примерным образом: [vba]
Код
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" xmlns:NmSpcAT="http://customui.myfuturesite.ru"> <ribbon startFromScratch="false"> <tabs> <tab idQ="NmSpcAT:TabAirTable" label="Сетки вещания" insertBeforeMso="TabInsert"> ...(прописываются нужные пользователю группы, кнопки внутри этих групп с их атрибутами) </tab> </tabs> </ribbon> </customUI>
[/vba] И дальше без разницы, подключена ли надстройка или нет, при загрузке нужного нам файла .xlsm всегда перед стандартной вкладкой "Вставка" появится вкладка "Сетки вещания" с группой команд, прописанной в его структурном файле customui. Ну, а если надстройка подключена, которая также при загрузке приложения Excel создает эту вкладку "Сетки вещания", то при загрузке оговариваемого файла .xlsm прописанная в его структурном файле customui группа команд поместится в уже созданную надстройкой одноименную вкладку.
На этом тему можно считать закрытой. Всем еще раз спасибо за внимание.Chula7094
Сообщение отредактировал Chula7094 - Суббота, 08.05.2021, 22:27