Доступ из кода к функциям рабочего листа



Объект Application через свойство WorksheetFunction предоставляет воз­можность использовать в коде все встроенные функции рабочего листа. Это свойство возвращает WorksheetFunction-объект, являющийся контейнером всех функций рабочего листа. Например, в следующей инструкции переменной MaxValue присваивается максимальное значение из диапазона А1:А4:

Dim MaxValue As Double

MaxValue = Application.WorksheetFunction.Max(Range("A1:A4"))

Примечание

Функции рабочего листа можно включать в код непосредственно через объект Application, опуская свойство WorksheetFunction. Например, в следующем примере переменной Pi присваивается значение π, а переменной Сумма присваивается сумма значений из диапазона А1:А4:

Pi = Application.Pi()

Сумма = Application.Sum(Range("A1:A4"))

Но хотя приводимые инструкции короче, их применение не всегда удобно. Дело в том, что после ввода в модуле Application.WorksheetFunction на экране отображается список с функциями рабочего листа, в то время как после ввода Application список с функциями рабочего листа не появляется. Поэтому, если вы точно знаете имя вводимой функции, то второй способ вполне приемлем. Если же вы не уверены в имени, то у первого способа нет альтернативы.

Номер версии MS Excel

Свойство Version объекта Application возвращает номер текущей версии MS Excel. Используется для проверки, применяется ли корректная версия. Например, следующая инструкция проверяет версию MS Excel, и если она отлична от 11.0, то происходит выход из процедуры.

If Application.Version <> "11.0" Then Exit Sub

Определение локальной версии MS Excel и установок Windows

Определение локальной версии Excel и установок Windows возможно при помощи свойства I nternational объекта Application, например, как показано в листинге 5.11. Если значение параметра этого свойства равно x lC ountry S etting, то идентифицируется локализация установок Windows, a если равно x lC ountry C ode, то Excel.

Листинг 5.11. Определение локальной версии MS Excel и установок Windows

Sub DemoCheck()

Checklnternational Application.International(xlCountrySetting), _

"Версия Windows"

Checklnternational Application.International(xlCountryCode), _

"Версия Office"

End Sub

Sub Checklnternational(n As Integer, msg As String)

Select Case n

Case 1

msg = msg + " Английская (США)"

Case 7

msg = msg + " Русская"

Case 49

msg = msg + " Немецкая (Германия)"

Case Else

msg = msg + " не учтена"

End Select

MsgBox msg

End Sub

Методы объекта Application

У объекта Application имеется большая коллекция методов, позволяющих производить различные действия — от конвертации метрических единиц измерения до создания таймера. Перечислим основные методы этого объекта:

ActivateMicrosoftApp Calculate
CentimetersToPoints CheckSpelling
ConvertFormula Evaluate
Help InchesToPoints
InputBox Intersect
OnKey OnTime
Quit Run
Save Union
Volatile Wait

Установка выполнения специфицированной процедуры при нажатии заданной комбинации клавиш

Метод опКеу устанавливает выполнение специфицированной процедуры при нажатии заданной комбинации клавиш.

OnKey(Key, Procedure)

Здесь:

r Procedure — необязательный параметр, задающий имя процедуры, выполняемой при нажатии комбинации клавиш, указанных в качестве значения параметра Key. Если параметр опущен, то выполняется действие, которое в системе зарезервировано за этой комбинацией клавиш;

r Key — обязательный параметр, задающий строку, определяющую комбинацию клавиш, которая должна быть нажата. В этой строке можно также указывать специальные клавиши, используя коды, приведенные в табл. 5.1. Допустимо использование сочетания одновременно нажатой специальной клавиши и клавиши-модификатора. С этой целью установлены коды клавиш-модификаторов, перечисленные в табл. 5.2.

Таблица 5.1. Коды специальных клавиш

Специальная клавиша Код
<Backspace> (BACKSPACE) ИЛИ {BS}
<Break> {BREAK}
<Caps Lock> {CAPSLOCK}
<Delete> {DELETE} ИЛИ {DEL}
<v> {DOWN}
<End> {END}
<Enter> (числовая клавиатура) {ENTER}
<Enter> ~
<Esc> {ESCAPE} ИЛИ{ESC}
<Home> {HOME}
<lnsert> {INSERT}
«> {LEFT}
<Num Lock> {NUMLOCK}
<Page Down> {PGDN}
<Page Up> {PGUP}
<Retum> {RETURN}
{RIGHT}
<Scroll Lock> {SCROLLLOCK}
<Tab> {TAB}
<^> {UP}
Ot<F1>ao<F15> От {Fl} ДО {F15}

Таблица 5.2. Коды клавиш-модификаторов

Клавиша-модификатор Код
<Shift> +
<Ctrl> ^
<Alt> %

В следующем примере процедуре Амортизация назначена комбинация клавиш <Ctrl>+<+>, а процедуре cтавка — <Shift>+<Ctrl>+<→>.

Application.OnKey "^{+}", "Амортизация"

Application.OnKey "+^{RIGHT}", "Ставка"


Дата добавления: 2019-02-12; просмотров: 163; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!