Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование, связанное с MS Office > [Перенесено из VB6/MS Access]Как перехватить команду с помощью VBA?


Автор: 32sasha 19.9.2007, 16:20
1. Как перехватить команду с помощью VBA (к примеру, команду в Excel “Параметры”)?
2. И как определить, что нажато ОК или Отмена?

Пожалуйста напишите код как должно быть для моего примера.
Есть SetWindowLong но я что-то осилите не могу как должно быть?
Помогите пожалуйста!

Автор: bilya 20.9.2007, 06:05
Вообще-то задача не для начинающих  smile 
1. Это делается через нажатие кнопки на панели, предварительно найдя ее через FindControls
2. Здесь без API не обойтись. Но не факт, что можно сделать - не все API работают в VBA

Автор: kapbepucm 20.9.2007, 08:57
А что, конкретно, ты хочешь? Увидеть, какие параметры меняет пользователь?

Автор: 32sasha 20.9.2007, 09:14
1. В Excel вызвали Сервис - Параметры.
как определить что вызвал пользователь "Параметры"? (просто открылось окно)
2. не важно что он с Параметрами делал, главное узнать пользователь в конце нажал ОК или Отмена (в зависимости от этого будут предприняты определённые действия)

Автор: bilya 20.9.2007, 09:23
Самое интересное, что "Параметры" - модальное, т.е (как я это понимаю) нужен внешний процесс, т.к. этот в ожидании

Автор: kapbepucm 20.9.2007, 09:36
Это два задания
1. Узнать момент когда именно открылось окно параметров;
2. Нажата какая-то кнопка, нужно знать когда и какая (наверно сабклассить придётся).
Я правильно понял?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)