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

Свойства и методы объекта Application

Объект Application имеет множество полезных свойств и методов. Из длинного списка свойств выделим следующие.

  • ActiveWorkbook - возвращает активную (текущую) книгу.

  • ActiveSheet - возвращает активный лист в активной рабочей книге. Возвращаемый лист может быть любого поддерживаемого типа, включая рабочий лист и лист диаграмм.

  • ActiveCell - возвращает активную ячейку на активном листе активной рабочей книги.

  • ThisWorkbook - возвращает рабочую книгу, где находится выполняемая процедура.

  • MailSystem - возвращает почтовую систему, установленную на компьютере. Это свойство особенно полезно, когда электронная почта работает в автоматическом режиме.

  • MailSession - может проверять идентификационную информацию о пользователе электронной почты.

  • OperatingSystem - полезное свойство, если разрабатываемое приложение должно работать как на платформе Windows, так и Macintosh. Это свойство определит тип операционной системы, затем можно внести необходимые изменения в ход выполнения приложения.

  • Selection - определяет текущее выделение. Выделением может быть диапазон ячеек, элементы диаграммы и т.п.

Вы уже встречались с методом InputBox объекта Application. Этот метод отображает окно ввода и позволяет указать тип возвращаемого значения. Среди других методов объекта Application выделим следующие.

  • MailLogon и MailLogoff - используемые совместно со свойствами MailSystem и MailSession эти методы позволяют начать или закончить сеанс работы электронной почты.

  • Quit - применяется для выхода из Excel.

  • Run - выполняет макросы, записанные в стиле Excel 4.0.

Объект Workbook

Вы уже знаете, что объект Workbook представляет файл рабочей книги. Не трудно догадаться, что можно делать с этим объектом: открывать, сохранять, выводить на печать, закрывать. Поэтому, прежде чем изучать свойства объекта Workbook, необходимо рассмотреть его методы.

  • Activate - делает активной указанную рабочую книгу.

  • Close - закрывает рабочую книгу.

  • Save - охраняет рабочую книгу.

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

  • SaveAs - сохраняет рабочую книгу. Отличие этого метода от метода Save заключается в том, что метод SaveAs имеет ряд необязательных, но полезных аргументов, таких как Filename (Имя файла), FileFormat (Формат файла), Password (Пароль), WriteResPassword (Пароль на запись), ReadOnlyRecommendec (Рекомендовать режим "только для чтения").

  • Printout - печать всего содержимого рабочей книги.

  • Print Preview - отображает рабочую книгу в режиме предварительного просмотра.

Из большого списка свойств объекта Workbook рассмотрим только несколько, на мой взгляд, самых необходимых и полезных. Подобно объекту Application, который имеет свойство ActiveWorkbook, данный объект также имеет свойство ActiveSheet (Активный лист). Если необходимо найти каталог, в котором сохранена рабочая книга, используется свойство Path (Путь). Очень полезным свойством является свойство Saved (Сохраненная). Это свойства возвращает значение ИСТИНА, если книга была сохранена после внесения в нее последних изменений. В противном случае возвращается значение ЛОЖЬ.

Нельзя обойти вниманием такой важный вопрос, как создание объекта новой книги. Другими словами, что является в VBA эквивалентом щелчка на кнопке Создать стандартной панели инструментов Excel? Из предыдущего часа вы уже знаете ответ на этот вопрос. Как вы помните, для создания нового элемента коллекции применялся метод Add (Добавить). Этот же метод используется и для создания новой книги. В следующем примере будет создана новая рабочая книга, в нее будет введено значение, затем она будет сохранена и закрыта.

  1. Создайте новую процедуру с именем ПримерРабКниги.

  2. Введите код процедуры:

Dim wbNewWorkbook As Workbook

Set wbNewWorkbook = Workbooks.Add

wbNewWorkbook.Worksheets("Лист1").Range("A1").Value = 100

wbNewWorkbook.SaveAs "Чac9"

wbNewWorkbook.Close

MsgBox "Рабочая книга закрыта"

  1. Выполните программу. Вы ничего не увидите во время ее выполнения до появления окна сообщения.

  2. Когда появится окно с сообщением, что рабочая книга закрыта, щелкните на кнопке ОК.

  3. Откройте рабочую книгу Час9. (Если вы находитесь в редакторе Visual Basic, то перейдите в окно программы Excel и откройте книгу с помощью команды Открыть меню Файл.)

  4. Вы увидите число 100 в ячейке А1 рабочего листа Лист1 - это действительно та книга, которую создала процедура.

Теперь подробнее рассмотрим все операторы этой процедуры. Ее полный код представлен в листинге 9.2.

Листинг 9.2. Процедура ПримерРабКниги

1: Sub ПримерРабКниги()

2:  Dim wbNewWorkbook As Workbook

3:  Set wbNewWorkbook = Workbooks.Add

4:  wbNewWorkbook.Worksheets("Лист1").Range("A1").Value = 100

5:  wbNewWorkbook.SaveAs "Чac9"

6:  wbNewWorkbook.Close

7:  MsgBox "Рабочая книга закрыта"

8: End Sub

Процедура начинается с объявления переменной-объекта:

Dim wbNewWorkbook As Workbook

Этой переменной-объекту назначается новая создаваемая рабочая книга:

Set wbNewWorkbook = Workbooks.Add

Приведенный оператор создает рабочую книгу, добавляя новый элемент в коллекцию Workbooks. При создании Excel дает рабочей книге имя по умолчанию, например Книга1 или Книга2. Другими словами, вы не знаете точное имя созданной рабочей книги. Поэтому для разрешения коллизии с именами созданная рабочая книга назначается переменной-объекту и далее в коде процедуры используется имя этой переменной вместо ссылки на книгу.

Далее процедура присваивает ячейке А1 значение

wbNewWorkbook.Worksheets("Лист1").Range("A1").Value = 100

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

wbNewWorkbook.SaveAs "Час9"

wbNewWorkbook.Close

MsgBox "Рабочая книга закрыта"

Вот и все. Поздравляю! С помощью VBA вы впервые для себя создали, сохранили и закрыли рабочую книгу Excel!

После сохранения рабочей книги с заданным вами именем в дальнейшем в ссылках на эту книгу вы можете применять или это имя, или продолжать использовать переменную-объект. Это уже дело ваших предпочтений, а не VBA.