Excel VBA Макросы: Меню с макросами для новой книги

Автор gtz, 01 февраля 2018, 17:32

gtz

Добрый день!

Как можно реализовать следующую задачу,
У меня есть набор стандартных действий который я применяю к документам, но есть разные документы и разные действия к ним. В целом порядка 15-20 различных действий.
Как можно допустим открыв какой-либо документ вызвать форму с этими действиями и применять их в зависимости от задач, когда все сделано просто закрываьт эту форму.
Может что-то типо надстройки.
Какие-нибудь идеи?

Администратор

А надстройка не подходит? Вы её подключаете, на ленте появляется вкладка, на этой вкладке кнопки для запуска макросов.

gtz

А можете подсказать как лучше сделать
Цель чтобы скажем при нажатии кнопки в надстройке появлялась форма со своими кнопками с макросами.

Администратор

А вкладку на ленте не хотите использовать? Именно форму хотите?

gtz

Честно говоря не знаю как лучше, просто действий будет 15-20, мне кажается на форме их будет удобнее разместить, сгруппировать, добавить закладки и т.д.

Администратор

Например на ленте есть вкладка "Главная", на этой вкладке есть такие команды: Вставить, Ж, К и т.д.
Можно сделать свою вкладку, на которой будут кнопки.

gtz

Всё, я понял, потихоньку разбираюсь. Спасибо.
Можно просто через ленту сделать вызов макросов и форм personal xlsb.

Администратор

Личную книгу макросов не нужно использовать для макросов. Личную книгу макросов нужно использовать только в процессе написания макросов, чтобы тестировать какие-то коды, чтобы не создавать модули в надстройке или файле с макросами.
Макросы нужно помещать или в эксель-файл, если макрос создан специально для этого файла.
Или нужно делать надстройку. Надстройку можно делать на разных языках программирования, а не только на VBA.

Здесь написано, как создать эксель-надстройку. Если какой-то пункт не понятен, то можете уточнять: https://forumvba.ru/index.php?topic=311.0

Администратор

Про недостатки личной книги макросов написано здесь: https://forumvba.ru/index.php?topic=309.0

gtz

Вот то что надо.
Буду делать тогда через надстройку.