|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.09.2010, 18:21 | #1 |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
Вызов макросов из меню с параметрами
Есть созданная панель инструментов, в ней меню запускающее макросы. Указываем имя макроса - работает. Все просто. Но не могу вызывать макросы из меню с параметрами. Excel выдает сообщение, что макрос не найден. Он воспринимает имя макроса и параметры для вызова как одно имя большое имя, да же не смотря на пробелы, запятые или скобки. Параметр caption, при создании меню имеет тип string.Может мой косяк... Для создания меню используется макрос:
Код:
С уважением, Алексей.
|
21.09.2010, 18:58 | #2 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
При вызове макроса параметр не указывается - вызываемый макрос должен сам определить значение параметра, отталкиваясь от названия кнопки, его вызвавшей. Пример (только не для меню, а для нескольких кнопок, которым назначен один и тот же макрос) можно найти в соседней теме: http://programmersforum.ru/showpost....55&postcount=8 Вам же надо использовать свойство CommandBars.ActionControl, чтобы узнать, которая из кнопок запустила макрос. Пример: http://programmersforum.ru/showpost....24&postcount=4 Еще по теме: http://forum.developing.ru/showthrea...ll=1#post25042 Способ распознавания параметра макроса по ActionControl используется в этой надстройке: http://excelvba.ru/dimensions Код:
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
Макросы любой сложности на заказ. Мониторинг цен конкурентов Последний раз редактировалось EducatedFool; 21.09.2010 в 19:05. |
|
22.09.2010, 18:14 | #3 | |||
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
Цитата:
Меню организовано так: Код:
Цитата:
Цитата:
Код:
С уважением, Алексей.
|
|||
22.09.2010, 18:41 | #4 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
Если вы внимательно посмотрите эту функцию, то обнаружите наличие у кнопок панелей инструментов свойства Tag, в которое можно записать любую текстовую строку. Далее - всё просто: ПолныйПутьКФайлуДоговора = Application.CommandBars.ActionContr ol.Tag |
|
22.09.2010, 22:59 | #5 | |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
Цитата:
С уважением, Алексей.
Последний раз редактировалось tae1980; 23.09.2010 в 11:36. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вызов макросов из другой книги. | tae1980 | Microsoft Office Excel | 2 | 08.07.2010 22:45 |
Вызов программы с параметрами | bgmd.win | Общие вопросы Delphi | 2 | 05.01.2010 14:40 |
Создать свое меню для макросов | nikolai_P | Microsoft Office Excel | 13 | 23.04.2009 09:35 |
Автоматический запуск макросов с листа на котором указан перечень макросов с параметрами и без | Neoli | Microsoft Office Excel | 2 | 09.03.2009 14:31 |
Меню с Items в виде набора Bitmap (как меню редактирования в Word'е) | chandrasecar | Мультимедиа в Delphi | 7 | 14.01.2009 09:20 |