Содержание 1 введение 6

Вид материалаРеферат
5.6 Прочие операторы
Установка системной даты: оператор Date
Time = время
SendKeys строка[, режим-ожидания]
Shift, Ctrl
Public Sub OpenDocWithPassword()
Documents.Open "c:\work\crt.doc"
Open предшествовал оператору SendKeys
6 Процедуры и функции 6.1 Классификация процедур
Sub, вторые – Function
Подобный материал:
1   ...   6   7   8   9   10   11   12   13   ...   25

5.6 Прочие операторы


Звуковой сигнал: оператор Beep


Данный оператор подает звуковой сигнал через динамик компьютера.

Beep

Частота и сила звука зависят от оборудования. Обычно звуковой сигнал используется как реакция на какие-либо ошибки или исключительные ситуации, возникающие при выполнении программы.


Установка системной даты: оператор Date

Date = дата

Пример:

Date = #April 29, 1999# ' Изменение системной даты.


Установка системного времени: оператор Time

Time = время

Пример:

Time = #8: 15: 47 PM# ' Установка системного времени

Моделирование ввода с клавиатуры: оператор SendKeys


Данный оператор посылает один или несколько кодов-символов в текущее активное окно, как если бы соответствующие клавиши были нажаты.

Его синтаксис:

SendKeys строка[, режим-ожидания]

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

Большинство символов, набираемых на клавиатуре, входят в строку непосредственно. Например, чтобы послать последовательность из трех символов Y, E и S, возьмите в качестве строки «YES». Символы: +, , %, ~, скобки и некоторые другие следует помещать в фигурные скобки. Например, чтобы послать +, в параметр строка нужно поместить {+}. Для посылки кодов клавиш, не отображаемых на экране, имеются специальные коды. Некоторые представлены в таблице 5.3, остальные можно найти с помощью подсказки.


Таблица 5.3  Коды клавиш, не отображаемых на экране


Клавиша

Код

BACKSPACE

{BS}

BREAK

{BREAK}

CAPS LOCK

{CAPSLOCK}

DEL

{DEL}

DOWN ARROW

{DOWN}

END

{END}

ENTER

{ENTER} или ~

ESC

{ESC}

HOME

{HOME}

INS

{INS}

LEFT ARROW

{LEFT}

PAGE DOWN

{PGDN}

PAGE UP

{PGUP}

RIGHT ARROW

{RIGHT}

TAB

{TAB}

UP ARROW

{UP}

Fn

{Fn} (n=1, …, 12)


Чтобы послать комбинацию клавиш, для Shift, Ctrl и Alt используются следующие коды:

Shift +

Ctrl

Alt %

В качестве примера рассмотрим открытие документа, требующего пароль при его открытии:

Public Sub OpenDocWithPassword()

' Открытие документа с паролем

SendKeys "+" 'Переключение раскладки клавиатуры

SendKeys "don" & "{'}" & "t know", False 'пароль "don’t know"

Documents.Open "c:\work\crt.doc"

Documents ("crt.doc").Activate

End Sub

Обратите внимание на два момента:
  • прежде, чем послать сам пароль, происходит переключение клавиатуры на другую раскладку, для чего используется комбинация символов «Shift+Ctrl»;
  • символы клавиатуры посылаются в буфер ввода еще до того, как они потребуются. Если бы оператор Open предшествовал оператору SendKeys, то окно ввода пароля появлялось бы до выполнения этого оператора. В данном же случае при открытии документа пароль автоматически появится в окне ввода, так что останется только щелкнуть по кнопке ОК.



6 Процедуры и функции




6.1 Классификация процедур



Процедуры и функции являются минимальными модульными конструкциями, из которых строится проект.

Процедура (функция) – это программная единица VBA, включающая операторы описания ее локальных данных и исполняемые операторы. Обычно в процедуру объединяют регулярно выполняемую последовательность действий, решающую отдельную задачу или подзадачу. Особенность процедур VBA состоит в том, что они работают в мощном окружении Office и могут использовать в качестве элементарных действий большое количество встроенных методов и функций, оперирующих с разнообразными объектами этой системы. Поэтому структура управления типичной процедурой прикладной офисной системы проста: она состоит из последовательности вызовов встроенных процедур и функций. Последовательность эта управляется небольшим количеством условных операторов и циклов.

Процедуры VBA можно классифицировать по нескольким признакам:
  • по способу использования (вызова) в программе;
  • по способу запуска процедуры на исполнение;
  • по способу создания кода процедуры;
  • по месту нахождения процедуры в проекте.

Процедуры VBA подразделяются на подпрограммы и функции. Первые описываются ключевым словом Sub, вторые – Function.

По способу создания кода процедуры делятся на обычные, разрабатываемые вручную, и на процедуры, код которых создается автоматически генератором макросов; их называют макро-процедурами или командными процедурами, поскольку их код – это последовательность вызова команд соответствующего приложения Office. Любую макропроцедуру можно изменить вручную, дописав в нее требуемую последовательность операторов.

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

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