Залипание кнопок на панели Word

Вопросы по программированию, не подходящие в другие разделы.

Модераторы: Naeel Maqsudov, C_O_D_E

Ответить
Аватара пользователя
AlexEL
Сообщения: 24
Зарегистрирован: 23 авг 2008, 06:44
Контактная информация:

Написал макрос создающий панель CommandBar.
Создал кнопку (Type:=msoControlButton) при нажатии на которую запускается макрос поиска текста.

Так вот, кнопка срабатывает через раз т.е.:
1. жмем первый раз - макрос отрабатывает нормально (выделяет найденный текст)
2. жмем второй раз - не доходит даже до запуска макроса прописанного в OnAction, единственное что происходи - очистка самопроизвольная StatusBar :)
3. Жмем третий раз - см п.1.
И так по кругу :(
Такое происходит не всегда, но уж если началось, не прекращается.
Что может помочь?

Буду благодарен за книги и документацию с практическими примерами по Visual Basic применительно именно к MS Word.
Макросы под заказ и готовый пакет: http://methodichka.ru/
Аватара пользователя
VictorM
Сообщения: 794
Зарегистрирован: 23 окт 2006, 01:44
Откуда: Lugansk, Ukraine
Контактная информация:

Здесь надо смотреть код макроса.
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
Аватара пользователя
AlexEL
Сообщения: 24
Зарегистрирован: 23 авг 2008, 06:44
Контактная информация:

Код макроса смотрите в моем пакете «Методичка» на сайте http://alex-mail.at.tut.by/.
Залипают кнопки «<<» и «>>» на панели инструментов «Методичка».
Но, я больше грешу на глюки MS Word, т.к. как я уже писал, при повторном нажатии процедура прописанная в OnAction вообще на запускается.
Макросы под заказ и готовый пакет: http://methodichka.ru/
Аватара пользователя
VictorM
Сообщения: 794
Зарегистрирован: 23 окт 2006, 01:44
Откуда: Lugansk, Ukraine
Контактная информация:

что-то знакомый пакет..........
где-то я его видел.........
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
Аватара пользователя
AlexEL
Сообщения: 24
Зарегистрирован: 23 авг 2008, 06:44
Контактная информация:

Блуждая по поисковикам, пару раз наткнулся на эту старую ветку. Проблему давно решил сам. Достаточно в конце макроса обрабатывающего нажатие кнопки добавить пару строк:

Код: Выделить всё

Sub Button_Click() ' нажата кнопка на панели 
    '  ...
    On Error Resume Next
    CommandBars.ActionControl.SetFocus ' противозалипание
End Sub
Макросы под заказ и готовый пакет: http://methodichka.ru/
Ответить