Страницы: 1
RSS
Отображение макросов из надстройки в списке Alt+F8
 
Здравствуйте.
Подскажите, пож-та, возможно ли сделать чтобы макросы (название процедур) из надстройки отображались в списке (при нажатии Alt+F8)?
Если нет, то как можно быстро получить доступ к данным макросам чтобы увидеть название и нужный запустить не заходя в редактор (Alt+F11)?
На кнопки быстрого запуска в верху вешать нужные макросы умею, но это не то, т.к. макросов может быть много и каждому назначать кнопку не вариант.
Перемещать модули или процедуры в персональную книгу макросов тоже не подходит.
Изменено: asesja - 30.04.2021 19:14:54
 
А если тупо по рабоче-крестьянски список названий макросов в столбце на листе? Даже надстройка не понадобится :)
Цитата
asesja написал:
макросов может быть много и каждому назначать кнопку не вариант
Посадите список на какое-то событие листа :) Из описания понятно, что Вы умеете, но не понятно, чего Вы хотите. Если хотите увидеть внутренности надстройки и макросы в ней - то это к автору надстройки.  Если доступ есть  - названия макросов поместите в список. Либо файл в студию, чтобы не устраивать гадания.
 
Цитата
_Igor_61 написал:
но не понятно, чего Вы хотите
Надстройка Excel, моя собственная с набором макросов, в которой я редактирую добавляю и удаляю модули и процедуры в зависимости от тех или иных условий. Поэтому доступ к коду у меня есть (мой код). Эта надстройка установлена на компах других пользователей для которых я создавал нужные макросы. Когда нужно что-то обновить, я просто заменяю надстройку у пользователей и у всех всё обновляется.
Простыми словами, мне нужно чтобы пользователи нажали сочетание Alt+F8, увидели в этом окне список макросов из надстройки и запустили нужный в зависимости от ситуации, то о чем я написал в первом вопросе в самом начале.
Доступ к самой надстройке я закрываю паролем чтобы никто случайно не испортил код.
Еще проще - хочу видеть в этом окне макросы из надстройки и нужные выполнять.))

Изменено: asesja - 30.04.2021 22:07:39
 
Цитата
asesja написал:
чтобы пользователи нажали сочетание Alt+F8, увидели в этом окне список макросов из надстройки и запустили нужный в зависимости от ситуации
Повезло Вам с пользователями, что Вы так в них уверены, что никто не нажмет на другой макрос из какой-то другой книги... :) По теме - см. #2
Цитата
asesja написал:
Надстройка Excel, моя собственная с набором макросов, в которой я редактирую добавляю и удаляю модули и процедуры в зависимости от тех или иных условий.
О чем и разговор :) Позаботьтесь о пользователях, а не о надстройке :)
 
Цитата
_Igor_61 написал: Повезло Вам с пользователями...
В этом плане все нормально, ребята адекватные, да и защита от дурака запрограммирована типа проверки данных в некоторых ячейках и выход из процедуры при не совпадении результата.   8)

Цитата
_Igor_61 написал: Позаботьтесь о пользователях, а не о надстройке
Игорь, честно говоря  :D это напоминает ситуацию, когда пришел в магазин покупать джинсы, но твоего размера нет и продавец настоятельно рекомендует по "рабоче-крестьянски" взять шорты, ну или на крайняк футболку.)))
Ситуацию с пользователями привел в качестве примера, чтобы постараться как можно понятнее пояснить что я хочу спросить. А именно:  см.сообщение №1.
Возможно, я непонятно выражаю свою мысль, но стараюсь уточнять. ;)  В любом случае, спасибо, что отозвались.)
Изменено: asesja - 01.05.2021 00:23:55
 
Просто за джинсами нужно ходить в соответствующие магазины.
Удивительно, что Вы смогли написать надстройку но не понимаете, что список макросов (на скрине в #3)  доступен из книг, а не из надстроек...  
Цитата
asesja написал:
как можно быстро получить доступ к данным макросам чтобы увидеть название и нужный запустить не заходя в редактор (Alt+F11)
Ответ уже был дан в #2, все проще чем Вы думаете, см. файл :)
Имея опыт создания надстроек под свои нужды сможете приспособить, там два варианта - с листом и с формой
Ну а если Вы все же настаиваете на вызове макросов из надстройки именно Вашим путем (как на скрине), то это в другой магазин...  :)
 
Здравствуйте. Посмотрите здесь. По Шагу 5 можно создать отдельную вкладку и на ней разместить кнопки запуска макросов с пояснением, что будет если нажать кнопочку. Надстройку можно разместить на сервере. При обновлении менять файл надстройки на сервере и у пользователей тоже будут появляться эти изменения.
 
Спасибо за ответ.
Я вначале именно так и сделал. Разобрался с "Ribbon XML Editor" и накидал на вкладку из настройки довольно много элементов. Потратил существенно времени. Но каково было мое удивление, точнее расстройство, когда распознал при помощи ABBYY FineReader нужный документ, передал его в Excel и хотел обработать кнопочками. Увы, в этом случае надстройка вместе с макросами и вкладкой пропадает. Чтобы моя вкладка с кнопками была видна, нужно в начали куда то сохранить переданный из FR документ, затем заново его открыть и только потом обработать, а сразу из FR макросы недоступны. В общем теряется удобство и быстрота по количеству действий. Тоже происходит в некоторых других случаях при обработке макросом, к примеру, при создании нового Excel, вкладка с кнопками тоже пропадает.
В итоге оставил эту затею. Кнопки остаются рабочими только если их добавить вверху на ленту быстрого доступа, но не будешь же каждому приезжать и добавлять эти кнопки когда дописал новый макрос.
С размещением надстройки в сети, согласен, довольно удобно, но сеть периодически отваливается и она удаленная. Excel медленнее открывается, т.к. подключает настройку. Да, надстройку кладу на сетевой диск только чтобы взять её для обновления, но подключена она у каждого с SSD на рабочем месте. Для обновления написал маленький exe файл. При запуске приходит предупреждение о закрытии всех Excel и автоматически заменяется файл надстройки на мою новую на рабочем месте. Очень удобно и работает в один клик.

В общем меня в итоге интересует только один вопрос из сообщения #1. Возможно ли сделать чтобы макросы (название процедур) из надстройки отображались в списке (при нажатии Alt+F8)? Кстати, из личной книги макросов после FR по нажатию Alt+F8 макросы тоже не видны.
Но мне нужно именно то о чем я спросил.
 
Цитата
_Igor_61 написал:
Имея опыт создания надстроек под свои нужды сможете приспособить, там два варианта - с листом и с формой
Игорь, спасибо за ответ.
С формой интересный вариант. Можно попробовать повесить кнопку с вызовом формы на ленту быстрого доступа.
Возможно, это именно то что мне нужно.
Изменено: asesja - 01.05.2021 10:25:56
 
Цитата
asesja написал:
Увы, в этом случае надстройка вместе с макросами и вкладкой пропадает.
пропадает не вкладка - надстройка не открывается. По умолчанию, если открытие Excel идет из стороннего приложения, то Excel запускается в "полубезопасном" режиме, в котором ни одна надстройка .xla и .xlam не открывается, запуск файлов из XLSTART(и других подобных папок) игнорируется. Т.е. куда бы Вы и как бы Вы не прописали свои макросы, они будут недоступны.
Изменено: Дмитрий(The_Prist) Щербаков - 01.05.2021 11:28:01
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
Дмитрий(The_Prist) Щербаков написал: ...куда бы Вы и как бы Вы не прописали свои макросы, они будут недоступны.
Дмитрий, макросы из надстроек на кнопках панели быстрого доступа работаю без проблем, даже когда идет запуск из стороннего приложения.
По крайней мере у меня обработка документа, переданного из FR, при нажатии этих кнопок происходит успешно. Но сами надстройки и макросы из персональной книги не видны ни в редакторе ни в окне Alt+F8.
 
Скомбинируйте свои ответы #8 и #11.
На панели быстрого запуска достаточно одной кнопки, которая будет загружать надстройку (если она не загружена). Эту кнопку нужно будет нажимать только один раз после старта Excel.
После загрузки надстройки появится Ваша "вкладка с кнопками".
Альтернатива - пойти по пути, указанному Игорем. Список процедур надстройки без параметров (которые были бы показаны по Alt+F8 в случае не надстройки, а обычной книги) можно, разумеется, получить и программным путем, однако, на мой взгляд, "игра не стоит свеч".
Изменено: sokol92 - 01.05.2021 13:53:51
Владимир
 
Цитата
asesja написал:
макросы из надстроек на кнопках панели быстрого доступа работаю без проблем, даже когда идет запуск из стороннего приложения
потому что в кнопках, вынесенных на ПБД, зашит полный путь к файлу с самим макросом, с которым они ассоциированы. И при нажатии на кнопку открывается и книга с кодом, если ранее не было открыта.
Поэтому и написал, что этот подход не решит проблемы - Вы ведь хотите это среди пользователей распространять, а там этот фокус не прокатит, т.к. путь к файлу будет другой.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
asesja,  написал:
Возможно ли ... при нажатии Alt+F8?
Поместите форму со списком макросов в надстройку, и хватит одной кнопки на ленте. Если обновления идут через сеть - пусть файл надстройки находится у пользователей в той же папке, что и рабочий файл пользователей, тем более что пользователи адекватные и обновление у Вас уже реализовано, только патч указать остается (ThisWorkbook или что там еще). Если нужно делать вызов именно клавишами, то если религия позволяет, замените Alt+F8 на другое сочетание.
Может плохо смотрю, но раньше в правилах форума был пункт - "Опишите проблему, а не способы, которыми Вы пытаетесь ее решить". Отсюда и обсуждение Alt+F8 возникло, хотя суть вопроса - в вызове нужных макросов из надстройки, а не в использовании конкретных клавиш (сугубо ИМХО) :)
 
Цитата
там два варианта - с листом и с формой
Попробую предложить третий вариант
Раз существует надстройка, то почему бы не сформировать на панели Надстройки меню с выпадающим списком или кобобокс со списком макросов
Решение не моё (Igor Vakhnenko).
 
Цитата
Александр Моторин написал:
то почему бы не сформировать на панели Надстройки меню с выпадающим списком или кобобокс со списком макросов
Александр, спасибо за ответ.
Я примерно так делал. Описал это в сообщении #8.
 
Мой пример без "Ribbon XML Editor" намного проще и работает
 
asesja
Цитата
Я примерно так делал. Описал это в сообщении #8.
Вообще то вы не так делали В сообщении №15 делается через старые панели эксель, а вы делали через Ribbon. И разница вообще-то есть. Все пользовательские панели созданные по старому автоматом помещаются на вкладку Надстройки  ленты при открытии в новом эксель,  и доступ к старым панелям и новым (лента и панель быстрого доступа) различны Хотя можно сказать, что к новым из VBA доступа практически нет.
 
Цитата
Александр Моторин написал:
Мой пример без "Ribbon XML Editor" намного проще и работает
Цитата
Евгений Смирнов написал:
Вообще то вы не так делали
Ребята, все верно, будет время попробую проверить пропадает или нет при загрузке из других приложений.

Всем кто отозвался, спасибо.
Страницы: 1
Наверх