Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Макросы.doc
Скачиваний:
26
Добавлен:
21.11.2018
Размер:
16.91 Mб
Скачать

Объект Application

В предыдущем часе указывалось, что объект Application (Приложение) занимает самый верхний уровень иерархии объектов Excel. Какие выводы из этого факта вы должны сделать как программист? Вывод прост: объект Application управляет установками и параметрами уровня приложения, т.е. такими, которые можно найти в диалоговом окне Параметры программы Excel (диалоговое окно Параметры открывается с помощью команды Сервис > Параметры). Чтобы убедиться в этом, закройте все открытые рабочие окна и откройте новую рабочую книгу. Затем выполните следующие шаги.

  1. Выберите команду Сервис > Макрос > Начать макрос - откроется диалоговое окно Запись макроса. Введите название макроса, например ПрограммаУстановки. В списке Сохранить в выберите опцию Эта книга.

  2. Щелкните на кнопке ОК для начала записи макроса.

  3. Выполните команду Сервис > Параметры - Откроется диалоговое окно Параметры. Перейдите на вкладку Вид и снимите флажок опции строку состояния.

  4. Перейдите на вкладку Общие и установите флажок опции Стиль ссылок R1C1. Щелкните на кнопке ОК.

  5. Остановите запись макроса.

  6. Выполните команду Сервис > Параметры и в диалоговом окне Параметры откройте вкладку Вид. Установите флажок опции строку состояния.

  7. Перейдите на вкладку Общие и снимите флажок опции Стиль ссылок R1C1. Щелкните на кнопке ОК.

  8. Выполните команду Сервис > Макрос > Макросы. Отобразится диалоговое окно Макрос. Выделите макрос ПрограммаУстановки.

  9. Щелкните на кнопке Изменить. Откроется редактор Visual Basic.

В листинге 9.1 показан код макроса, который вы должны увидеть в окне кода редактора Visual Basic. (Конечно, в вашем коде будут некоторые отличия, например в имени пользователя или пути к рабочему каталогу. - Прим. ред.)

Листинг 9.1. Процедура ПрограммаУстановки

1: Sub ПрограммаУстановки()

2:  With Application

3:  .ReferenceStyle = xlR1C1.

4:  .UserName = "Alex"

5:  .StandardFont = "Arial"

6:  .StandardFontSize = "10"

7:  .DefaultFilePath = "С:\Мои документы"

8:  .EnableSound = False

9:  .RollZoom = False

10:  End With

11:  Application.DisplayStatusBar = False

12: End Sub

Свойства какого объекта описаны в этом примере? Правильно, объекта Application. Надеюсь, данный пример достаточно убедил вас в значимости объекта Application.

Использование встроенных функций Excel

Роль объекта Application не ограничивается заданием параметров и опций Excel. Объект Application также содержит встроенные функции Excel. Если вы хотите использовать в процедуре VBA встроенные функции Excel, то необходимо использовать объект Application.

Следующие инструкции помогут вставить функции AVERAGE (СРЕДНЕЕ) и SUM (СУММА) в код VBA.

  1. Создайте новую процедуру и назовите ее ВстроенФункции.

  2. Введите следующий код процедуры:

Dim sngAnswer As Single

sngAnswer=Application.Average(Worksheets("Лист1").Range("A1:A4"))

MsgBox "Среднее значение диапазона = " & sngAnswer

sngAnswer=Application.Sum(Worksheets("Лист1").Range("A1:A4"))

MsgBox "Сумма значений диапазона = " & sngAnswer

  1. Перейдите на рабочий лист Лист1 открытой рабочей книги.

  2. Введите в ячейку А1 число 100, в ячейку А2 - 200, в ячейку A3 - 300, в А4 - 400.

  3. Выполните процедуру. Появится первое окно сообщения, показывающее среднее значение введенных чисел (рис. 9.1).

  4. Для закрытия окна сообщения щелкните на кнопке OK. Второе окно сообщения покажет сумму введенных чисел.

  5. Щелкните на кнопке ОК для закрытия окна сообщения и завершения процедуры.

Чтобы выполнить процедуру из рабочего листа, нажмите комбинацию клавиш <Alt+F8> и в диалоговом окне Макрос дважды щелкните на имени процедуры.

Рис. 9.1. Окно сообщения показывает результат, полученный с помощью встроенных функций Excel

Этот пример показывает, что для использования встроенных функций Excel необходимо указывать объект Application и аргументы функций, которые также являются объектами.