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

4.11 Оператор DoEvents (Прерывание работы подпрограммы)

Функция, которая выдает число загруженных форм и вызывает прерывание подпрограммы (передает ненадолго управление операционной системе). В VBA данная функция используется как процедура. Ниже в примере показана реализация системных часов, методом OnTime и функцией DoEvents:

Sub TimeV1()

Application.Caption = Time

‘Повторить вызов процедуры через 1 секунду

Application.OnTime Now + TimeValue("00:00:01"), "TimeV"

End Sub

Sub TimeD()

Dim v As Variant

v = Time

Do

‘Если прошла секунда

If v <> Time Then

‘Прерываем процедуру

DoEvents

v = Time

Application.Caption = Time

End If

Loop

End Sub

Системные часы реализованные методом OnTime работают лучше, чем системные часы реализованные DoEvents (Стабильней работает клик мыши, и др.) К сожалению, методом OnTime можно вызвать только процедуру из модуля макросов. В других модулях для реализации постоянно работающей подпрограммы, и не вызывающей остановку работы приложения приходится пользоваться функцией DoEvents.

4.12 Оператор Shell (Запуск исполняемых файлов)

Функция, предназначенная для запуска исполняемых файлов. Данная функция выдает номер загруженного приложения, или выдает 0 если приложение загрузить не удалось. Формат запуска функции:

Shell( “Имя файла” [,Windowstyle] )

где

“Имя файла” – Полное имя файла, или имя файла находящегося в текущей директории текущего диска. За именем файла могут быть входные параметры (например, имя файла загружаемого в приложение), отделенные от имени файла приложения пробелом.

Windowstyle – константа, или числовое значение определяющее параметры запуска окна приложения:

Параметры запуска окна приложения

Константа

Значение

Описание

VbHide

0

Окно скрыто, и фокус передается скрытому окну

VbNormalFocus

1

Окно имеет фокус и восстанавливает свои стандартные размер и положение

VbMinimizedFocus

2

Окно отображается в виде значка с фокусом

VbMaximizedFocus

3

Окно развертывается на полный экран с фокусом

VbNormalNoFocus

4

Восстанавливаются предыдущие размер и положение окна. Активным остается текущее окно

VbMinimizedNoFocus

6

Окно отображается в виде значка. Активным остается текущее окно

4.13 Оператор AppActivate (Активизация окна другой программы)

Позволяет активизировать окно приложения, по тексту заголовка на окне, или по индексу полученному оператором Shell:

AppActivate “Заголовок окна” [, wait]

где

“Заголовок окна” - текст заголовка окна, или индекс загруженного приложения;

Wait – логическое выражение, определяющее выполнение активизации окна, если данный параметр равен False, то окно активизируется немедленно (выполняется по умолчанию входного параметра). Если указанный параметр имеет значение True, то окно активизируется только после активизации окна программы, которая переводила фокус на указанное окно.

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