Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2011, 11:59   #1
Caside
 
Регистрация: 07.04.2011
Сообщений: 7
По умолчанию Создание обработчика событий объектов

Нужно создать обработчик правого клика на ячейку.

Пишу в классмодуле следующее:
Код:
Public WithEvents App1 As Excel.Application

Sub App1_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
бла-бла-бла
End sub
Но обработчик не работает. Говорят надо ещё что-то инициировать в обычном модуле в обработчике открытия книги - workbook_open. Что именно надо там написать?

Последний раз редактировалось Caside; 07.04.2011 в 12:11.
Caside вне форума Ответить с цитированием
Старый 07.04.2011, 12:23   #2
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

А так?
Код:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Excel.Range, Cancel As Boolean)
Call MsgBox("бла бла бла", vbExclamation, Application.Name)

End Sub
Только код нужно помещеть в модуле листа.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 07.04.2011, 12:25   #3
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Пишу в классмодуле следующее:
Зачем всё усложнять?

Дима даже статью у себя на сайте выкладывал по этому поводу:
http://www.excel-vba.ru/index.php?fi...w_Catch_Events
EducatedFool вне форума Ответить с цитированием
Старый 07.04.2011, 12:48   #4
Caside
 
Регистрация: 07.04.2011
Сообщений: 7
По умолчанию

Пробовал как в статье, ни чего не вышло. В этой книге объявлял новую переменную и писал обработчики, в обычном модуле в workbook_open писал Set App = Application.

Ещё пробовал как http://citforum.ru/programming/windo...el_obj/2.shtml тут (самый мудрёный вариант), но при открытии книги вылетает ошибка компиляции.
Caside вне форума Ответить с цитированием
Старый 07.04.2011, 12:51   #5
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
в обычном модуле в workbook_open писал Set App = Application.
Это надо было писать в модуле книги (ЭтаКнига)
EducatedFool вне форума Ответить с цитированием
Старый 07.04.2011, 12:54   #6
Caside
 
Регистрация: 07.04.2011
Сообщений: 7
По умолчанию

Всем спасибо, всё работает )
Caside вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическое создание объектов и задание событий TreadProblem Общие вопросы Delphi 9 15.03.2011 17:57
обработчик событий динамических объектов Vervolf Общие вопросы Delphi 2 17.01.2011 18:45
Динамическое создание обработчика события tramvajman Компоненты Delphi 8 20.10.2010 10:41
Обработка событий динамически созданных объектов в С++ Builder Shafty Помощь студентам 1 26.02.2009 16:11