Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VBA For Excel Часть 02.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.08 Mб
Скачать

11.4 Окно просмотра свойств, методов, потомков и родителей объектов

Для просмотра свойств, методов и потомков объектов можно воспользоваться окном Просмотра Объектов, которое загружается через меню редактора VBA – Вид–Просмотр объектов(View-Object Browser). Окно Просмотр объектов состоит из нескольких подокон. В подокне Классы(Classes) выбирается имя класса искомого объекта или раздел (globals) глобальные (для поиска объектов не содержащихся в списке). В подокне Компонент(Members ofProtection’) просматриваются свойства, методы и потомки выбранного объекта. В подокне Результат поиска(Search Results) указывается библиотека компонентов, к которому принадлежит выбранный объект. Над окном Результат поиска имеется поле со списком, в котором можно ввести имя объекта, после ввода которого, в подокне Результат поиска в разделе Класс будет указан родитель введенного объекта. На рис 6 в указанном нами поле введено имя объекта ActiveCell и в первой строке подокна Результат поиска в разделе Класс указан родитель введенного объекта – Application.

Рис. 6 окно просмотра компонентов объектов

12 Дополнительная информация

12.1 Параметры работы редактора vba

Через меню редактора VBA Сервис-Параметры(Toolls-Options) можно установить параметры его работы. В появившемся окне выбирают соответствующую закладку настройки:

Редактор(Edit) – настройка работы редактора модуля

Формат(Editor Format) - формат шрифта редактора модуля (если в редакторе модуля отсутствует кириллица, установите шрифт Courier New Cyr)

Общие(General) – установка параметров “компиляции”, сетки на форме и др.

12.2 Защита от макровирусов

Макровирус это программа, которая написана на языке VBA. Данная программа вызывает “вредные” действия внутри Excel. При запуске проекта содержащего макровирус, другие проекты, загруженные в Excel, а так же книга личных макросов может заразиться. Т.е. в нее автоматически будет записан макровирус. Зараженные проекты будут в свою очередь заражать загруженные вместе с ними незараженные проекты.

Макровирус может, например, испортить меню приложения, или вызвать неправильную работу приложения.

Макровирус никогда не может возникнуть сам по себе. Он переносится с компьютера на компьютер вместе с переписанным проектом. И начинает работать в тот момент, когда проект загружен в режиме работающих макросов.

В MS Office 97 можно установить защиту от вирусов через меню Сервис-Параметры-Общиее-Защита от макровирусов. При открытии проекта через меню Excel приложение будет выводить окно, при установленной защите о том, что проект содержит макро код. Пользователь может подтвердить работу макросов проекта, или загрузить проект в режиме неработающих макросов. И посмотреть программные коды проекта, на наличие операторов вносящие вредные изменения в меню приложения, уничтожающих модули и др. И после, пользователь может стереть программный код содержащий макровирусы. При чем пользователь должен не только просмотреть модули с макросами на наличие вируса, но и другие модули, в частности модуль книги и модули листа.

Защита от макровирусов установленная через меню Сервис-Параметры-Общиее-Защита от макровирусов не действует на проекты, которые вы открываете программно, при помощи операторов VBA! Т.е. через операторы VBA в MS Office 97 проект всегда загружается в режиме работающих макросов.

В MS Office 2000 и в более старших версиях Excel устанавливается несколько уровней защиты от макровирусов через меню приложения Сервис-Макрос-Безопасность-Уровень Безопасности. Безопасность в этих версиях Excel можно так же установить через кнопку Безопасность, расположенную на панели Visual Basic.

В MS Office 2003 существуют и дополнительные функции установки защиты через меню приложения Сервис-Макрос-Безопасность-Надежные издатели. Далее, в указанном пункте меню устанавливаются или снимаются флажки “Доверять всем установленным надстройкам и шаблонам” и “Доверять доступ к Visual Basic Project”

Можно защитить проект от заражения другим способом. Если вы установите защиту на незараженный проект (см. 8.1.3 Измеенение свойств проета), то макровирус не сможет заразить его. Если конечно в коде макровируса не содержится алгоритм взлома пароля защищенного проекта.

Возможно восстановление некоторых последствий причиненных макровирусом при помощи операторов VBA. Как то макровирус испортил мне меню приложения Word, в дополнение к этому испортил панели Visual Basic. Пришлось входить в редактор VBA по нажатию на горячие клавиши ALT + F11, и написать процедуру восстанавливающую указанные последствия, и запустить эту процедуру через меню редактора VBA – Запуск-Запуск подпрограммы.

Sub ВосстановитьДоступVBA()

'Востоновление главного меню приложения

Application.CommandBars.ActiveMenuBar.Reset

'востонавление доступа к Visual Basic

Application.CommandBars("Visual Basic").Reset

Application.CommandBars("Control Toolbox").Reset

Application.CommandBars("Forms").Reset

End Sub

Естественно, что данная процедура годится и для Excel. Методом Reset можно восстановить любую панель инструментов, любое меню приложения. Только для этого нужно знать ее имя или индекс. Процедурой, которая записана нами ниже, возможно восстановить вид всех стандартных меню в конкретном приложении.

Sub ВостановитьВсеМенюПриложения()

Dim i As Long

For i = 1 To Application.CommandBars.Count

On Error Resume Next

Application.CommandBars(i).Reset

Next i

End Sub

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]