Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Создание пользовательских п ÒÉÌÏÖÅÎÉÊ ÓÒÅÄÓÔÁÍ...doc
Скачиваний:
6
Добавлен:
18.11.2019
Размер:
2.02 Mб
Скачать

Методы Метод Calculate

Метод пересчитывает формулы внутри заданного объекта.

Синтаксис expression.Calculate

  • expression – ссылка на объект.

Примеры

Оператор

Пересчитывает формулы

Application.Calculate (или просто Calculate)

во всех открытых рабочих книгах

Worksheets(1).Calculate

на указанном рабочем листе

Worksheets(1).Rows(2).Calculate

во второй строке указанного рабочего листа

Метод CheckSpelling

Метод проверяет наличие слов текста в словаре и возвращает значение False, если слово не найдено в словаре.

Синтаксис expression.CheckSpelling(Word [,CustomDictionary][, IgnoreUppercase])

Метод используется с различными объектами приложения. При применении к объекту Application можно проверить значение каждой ячейки интервала.

Пример

Sub Method_checkspelling()

Dim myrange As Object, c As Object

Set myrange = Range("A1:C12")

For Each c In myrange

If Application.CheckSpelling(c.Value) = False Then

MsgBox "Ошибка в тексте """ & c & """"

End If

Next c

End Sub

Процедура проверяет правописание в интервале ячеек A1:C12 и, если обнаружена ошибка, то в сообщении высвечивается неверный текст. Тестируемое значение – ссылка на значение ячейки в виде c.Value.

Метод OnTime

Метод позволяет запустить некоторую процедуру в заданный момент времени.

Синтаксис OnTime(EarliestTime, Procedure[,LatestTime])

  • EarliestTime – выражение, задающее время запуска процедуры;

  • Procedure – имя запускаемой процедуры;

  • LatestTime – самое позднее время, когда процедура может быть запущена, если невозможно было запустить ее точно в указанное время. Причиной невозможности запуска, могло явиться выполнение диалога, который не был прерван ранее.

Пример

Sub mes_time() 'основная процедура

Application.OnTime EarliestTime:=TimeValue("16:30:00"), Procedure:="time_of_cofee"

End Sub

Sub time_of_cofee() 'вызываемая процедура

MsgBox "Пошли пить кофе"

End Sub

Процедура mes_time в 16:30 высвечивает сообщение "Пошли пить кофе".

внимание

  • Если указать, например, LatestTime=EarliestTime + 30, то MS Excel подождет 30 секунд и, если выполняемая процедура не завершится, то процедура, указанная в OnTime, не будет запущена вовсе.

  • Если параметр LatestTime не задавать, то MS Excel дождется завершения процедуры и запустит нужную процедуру.

  • Если в качестве EarliestTime использовать выражение Now()+интервал времени, то процедура запустится спустя указанный интервал от текущего времени.

Метод Wait

Метод переводит приложение в состояние ожидания до наступления некоторого момента времени. Во время паузы пользователь не может выполнять никакие команды, но операции, выполняемые в фоновом режиме, например, распечатка, не прекращаются.

Синтаксис expression.Wait(Time)

  • expression – возвращает объект Application;

  • Time – время окончания паузы в выполнении процедуры в формате даты.

Пример

Процедура устанавливает паузу примерно на 10 секунд.

Public Sub method_wait()

Dim Curtime As Date, newSecond As Integer

Dim newHour As Integer, newMinute As Integer

Curtime = Time()

newHour = Hour(Curtime)

newMinute = Minute(Curtime)

newSecond = Second(Curtime) + 10

waitTime = TimeSerial(newHour, newMinute, newSecond)

Application.Wait waitTime

End Sub

Используются функции даты Hour, Minute, Second, TimeSerial, Now. С их помощью из текущего времени выделяются час, минуты, секунды; секунды увеличиваются на 10 и составляется время окончания паузы.