| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Программирование, связанное с MS Office > [Перенесено из VB6/MS Access]Как перехватить команду с помощью VBA? |
| Автор: 32sasha 19.9.2007, 16:20 |
| 1. Как перехватить команду с помощью VBA (к примеру, команду в Excel “Параметры”)? 2. И как определить, что нажато ОК или Отмена? Пожалуйста напишите код как должно быть для моего примера. Есть SetWindowLong но я что-то осилите не могу как должно быть? Помогите пожалуйста! |
| Автор: bilya 20.9.2007, 06:05 |
| Вообще-то задача не для начинающих 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. Нажата какая-то кнопка, нужно знать когда и какая (наверно сабклассить придётся). Я правильно понял? |