[Visual Basic for Applications] Excel VBA — создаем свою панель инструментов

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
09-Июл-2020 01:36

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

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

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, например:

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

Похожие новости: Теги для поиска: #_visual_basic_for_applications, #_vba, #_excel, #_c#, #_vsto, #_visual_basic_for_applications
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 23-Ноя 01:30
Часовой пояс: UTC + 5