Вход


Главная страница >> Учебный процесс >> Конспекты >> MS Office. Руководство программиста по Visual Basic для MS Office 97 >> Объекты Microsoft Excel >> Работа с событиями. >> События на уровне рабочего листа

Переход на главную страницу

Сервер поддерживается
кафедрой информатики и вычислительной техники ГрГУ
тел. +375-(0)152-445-101
E-mail :
kadan@grsu.grodno.by


[Назад]    [Содержание ]    [Вперед]

  


События на уровне рабочего листа


События на уровне листа возникают при активизации листа или изменении его ячеек, как показано в таблице:

Событие

Описание

Activate

Возникает при активизации листа. Используйте это событие вместо свойства OnSheetActivate.

BeforeDoubleClick

Возникает при двойном щелчке ячейки листа. Используйте это событие вместо свойства OnDoubleClick.

BeforeRightClick

Возникает при щелчке ячейки листа правой кнопкой мыши.

Calculate

Возникает при пересчете листа. Используйте это событие вместо свойства OnCalculate.

Change

Возникает при изменении формулы в ячейке. Используйте это событие вместо свойства OnEntry.

Deactivate

Происходит в том случае, когда данный лист активен, а пользователь активизирует другой лист. Не генерируется, если пользователь активизирует другое окно, отображающее тот же лист. Используйте это событие вместо свойства OnSheetDeactivate.

SelectionChange

Возникает при выделении ячейки листа.

Подробнее об этих событиях см. соответствующие разделы справочной системы.

Примеры

В следующем примере при каждом пересчете листа происходит коррекция размеров колонок от А до F:

Private Sub Worksheet_Calculate()
     Columns("A:F").AutoFit
End Sub

Некоторые события позволяют изменять стандартное поведение приложения. Например, можно перехватывать щелчки правой кнопкой мыши и добавлять в контекстное меню для ячеек В1:В10 новую команду:

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
     For Each icbc In Application.CommandBars("cell").Controls
          If icbc.Tag = "brccm" Then icbc.Delete
     Next icbc
     If Not Application.lntersect(Target, Range("b1:b10")) Is Nothing Then
          With Application.CommandBars("cell").Controls
               .Add(Type:=msoControlButton, before:=6, temporary:=True)
                .Caption = "New Context Menu Item"
                .OnAction = "MyMacro"
                .Tag = "brccm"
          End With
     End If
End Sub



[Назад]    [Содержание ]    [Вперед]

  



Текст пособия подготовлен на основе материалов книги
Microsoft Corporation. Руководство программиста по Visual Basic для Microsoft Office 97 / Пер. с англ. - М.: Издательский отдел "Русская Редакция" ТОО "Channel Trading Ltd.", 1997. - 544 с.: илл.
c Оригинальное издание на английском языке,
Microsoft Corporation, 1997
c Русский перевод,
Microsoft Corporation, 1997

  
За содержание страницы отвечает Гончарова М.Н.
©
Кафедра СПиКБ, 2002-2017