Вы уже знаете, что объект 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 (Добавить). Этот же метод используется и для создания новой книги. В следующем примере будет создана новая рабочая книга, в нее будет введено значение, затем она будет сохранена и закрыта.
Выполните программу. Вы ничего не увидите во время ее выполнения до появления окна сообщения.
Когда появится окно с сообщением, что рабочая книга закрыта, щелкните на кнопке ОК.
Откройте рабочую книгу Час9. (Если вы находитесь в редакторе Visual Basic, то перейдите в окно программы Excel и откройте книгу с помощью команды Открыть меню Файл.)
Вы увидите число 100 в ячейке А1 рабочего листа Лист1 - это действительно та книга, которую создала процедура.
Теперь подробнее рассмотрим все операторы этой процедуры. Ее полный код представлен в листинге 9.2.
Процедура начинается с объявления переменной-объекта:
Dim wbNewWorkbook As Workbook
Этой переменной-объекту назначается новая создаваемая рабочая книга:
Set wbNewWorkbook = Workbooks.Add
Приведенный оператор создает рабочую книгу, добавляя новый элемент в коллекцию Workbooks. При создании Excel дает рабочей книге имя по умолчанию, например Книга1 или Книга2. Другими словами, вы не знаете точное имя созданной рабочей книги. Поэтому для разрешения коллизии с именами созданная рабочая книга назначается переменной-объекту и далее в коде процедуры используется имя этой переменной вместо ссылки на книгу.
Наконец, выполняются методы SaveAs и Close. Окно сообщения добавлено в процедуру для того, чтобы вы знали, что процедура завершилась.
wbNewWorkbook.SaveAs "Час9"
wbNewWorkbook.Close
MsgBox "Рабочая книга закрыта"
Вот и все. Поздравляю! С помощью VBA вы впервые для себя создали, сохранили и закрыли рабочую книгу Excel!
После сохранения рабочей книги с заданным вами именем в дальнейшем в ссылках на эту книгу вы можете применять или это имя, или продолжать использовать переменную-объект. Это уже дело ваших предпочтений, а не VBA.