Excel VBA — создаем свою панель инструментов

от автора

Если перед вам стоит задача по автоматизации чего нибудь в excel, то забудьте про макросы, расположенные непосредственно в книге, создавайте панель инструментов (ribbon), которая
1) не зависит от конкретного файла
2) располагается в основной панели инструментов
3) дает кастомизируемый UI

image

Для того что бы создать такую панель вам потребуется
1) файл excel с расширением xlam, расположенный в %userprofile%\appdata\roaming\microsoft\addins
2) редактор xml ресурса (для разметки кнопок)
github.com/fernandreu/office-ribbonx-editor/releases/tag/v1.6

image

3) определить кнопки по примеру
button id=«b_MemberSelect» label=«Member Select» onAction=«p_MemberSelect» imageMso=«ReturnToTaskList» size=«large» />
где p_MemberSelect это процедура VBA

4) в иницилазации процедуры (в файле xlam) нужно передавать предопределенные параметры
Sub p_MemberSelect(ByVal vIRibbonControl As IRibbonControl)

Но у данного решения есть одно ограничение — нет возможности создавать формы, встроенные в панели Excel, например:
image
Этот пример из проекта In2Sql (плагин для Excel, который визуализирует объекты SQL). В этом плагине код создан с помощью c# и библиотек VSTO.

ссылка на оригинал статьи https://habr.com/ru/post/510186/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *