Кастомный тулбар в vbe

Программирование на Visual Basic for Applications
kibernetics
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 945
Зарегистрирован: 03.05.2006 (Ср) 13:31
Откуда: Minsk

Кастомный тулбар в vbe

Сообщение kibernetics » 04.02.2021 (Чт) 14:06

Приветствую!

Экспериментирую с созданием своего тулбара под экселевскую vbe-шку.
последовательность такая:
1) запускается макрос, который создаёт на панели кнопки и назначает имя макроса при событии клика
Код: Выделить всё
Application.VBE.CommandBars.Add(BarName)
Application.VBE.CommandBars(BarName).Controls.Add(Type:=msoControlButton)

2) при клике на кнопку, выполняем что-то

но, если на стандартном тулбаре клацнуть кнопку reset, то с кастомных кнопок слетает привязка к вызову макроса. В смысле, что нажатия на кнопки больше не работают.
reset_btn.JPG
reset_btn.JPG (9.72 Кб) Просмотров: 967


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

п.с. и ещё вопрос, как создать дллку в vb6 для excel?


Хакеру здоровья.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16473
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Кастомный тулбар в vbe

Сообщение Хакер » 04.02.2021 (Чт) 17:58

kibernetics писал(а):и, по логике надо всё заново переопределять, килять старый тулбар, и создавать наново, и это опять до момента нажатия reset.

По логике надо только переназначить обработчик, а не пересоздавать бар и кнопки в нём?

п.с. и ещё вопрос, как создать дллку в vb6 для excel?

Add-in что ли? Как обычно: новый проект, в типе проекта выбрать соответствующий шаблон проекта Addin. Затем в дизайнере Connect поменять тип целевого приложения на Microsoft Excel.
addin_type.png
addin_type.png (15.55 Кб) Просмотров: 960


Спасибо.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

kibernetics
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 945
Зарегистрирован: 03.05.2006 (Ср) 13:31
Откуда: Minsk

Re: Кастомный тулбар в vbe

Сообщение kibernetics » 04.02.2021 (Чт) 18:07

Да, Addin

Вложение addin.JPG больше недоступно.

например, вот тулбар от MZ-Tools не теряет события кнопок после резета.
Оттого и назрел план по выносу кода vba в dll.

Update:
addin.JPG
addin.JPG (31.19 Кб) Просмотров: 958

Порыл немного инфы по Addin, оказалось, у меня нет в студии такой опции как Addin.
выбрал просто ActiveX DLL.

Затем, на просторах инета понаходил образцы Connect.dsr.
И, заметил, что о у одних реализовано:
Код: Выделить всё
Implements IDTExtensibility2

а у других всё реализовано через
Код: Выделить всё
AddinInstance

... в чём отличие? :roll:

и как можно дебажить-то?
Ладно компилить постоянно, но так и ошибки толком не ловятся.
Вложения
newproject.JPG
newproject.JPG (23.71 Кб) Просмотров: 953

kibernetics
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 945
Зарегистрирован: 03.05.2006 (Ср) 13:31
Откуда: Minsk

Re: Кастомный тулбар в vbe

Сообщение kibernetics » 04.02.2021 (Чт) 23:02

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


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11

    TopList