У меня есть готовый модуль с кодом. Как сделать, чтобы при каждом запуске Word на ленте была отдельная вкладка меню с моим макросом?
У меня макрос находится в Normal. Версия офиса 2010.
Начиная с офиса 2010, можно создать на ленте свою вкладку и на ней можно создать кнопку для запуска макроса.
Файл - Параметры - Настройка ленты - справа внизу "Создать вкладку" - в левой области вверху в списке выберите "Макросы" - найдите ваш макрос - посередите кнопка "Добавить >>" - OK.
Есть ещё другой способ создания вкладки: это внедрение вкладки непосредственно в файл, в котором находится макрос. В вашем случае это файл "Normal.dotm". Но можно ещё создать специально файл для макросов, который называется "надстройка". Этот файл тоже имеет расширение "dotm".
Я поместил макрос внутрь dotm-файла и внедрил в него вкладку.
Я сделал следующее: сохранил файл в формате dotm, в программе Ribbon XML создал для этого файла новую вкладку, группу и кнопку с картинкой, и закинул этот файл в папку C:\Users\имя_пользователя\AppData\Roaming\Microsoft\Word\STARTUP.
И в коде макроса дописал процедуру вызова основного кода через созданную кнопку в Ribbon:
Sub Имя_процедуры(control As IRibbonControl)
Call Основная_процедура
End Sub
Имя_процедуры прописывается в Ribbon XML в свойстве кнопки onAction
Вот XML код моей надстройки:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon startFromScratch="false">
<tabs>
<tab id="my_tab" label="Имя_Вкладки">
<group id="my_group" label="Имя_группы">
<button id="my_button" label="Имя_кнопки" imageMso="Картинка" onAction="Имя_процедуры" size="large" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>