Шаг 8 - Коллекция Sheets

Данная коллекция представляет собой коллекцию листов (Sheets) в книге (WorkBook). Первое, что мы с Вами сделаем это получим количество листов в книге.

Sub Test()

MsgBox (Str(Application.Workbooks.Item("Test.xls").Sheets.Count))

End Sub

Но под листом понимается не только клетки, но и диаграмма. Так же как и лист для расчетов диаграмма будет включена в подсчет листов. Как посмотреть имена листов. Просто. Есть свойтсво Name:

Sub Test()

With Application.Workbooks.Item("Test.xls")

For x = 1 To.Sheets.Count

MsgBox (Sheets.Item(x).Name)

Next x

End With

End Sub

А как же лист с формулами отличить от диаграммы? Попробуйте так. Type вернет Вам тип. Только не знаю документированный способ это или нет.

Sub Test()

With Application.Workbooks.Item("Test.xls")

For x = 1 To.Sheets.Count

MsgBox (Sheets.Item(x).Type)

If Sheets.Item(x).Type = 3 Then

MsgBox Sheets.Item(x).Name

Next x

End With

End Sub

К коллекции листов есть возможность добавлять свои листы, для этого существует метод Add. Этот метод требует 4 параметра Add(Before, After, Count, Type). Все эти параметры необязательные. Первые два отвечают за место вставки листа. Дальше количество вставляемых листов Count и тип листа. Типы могут быть, например, такие. xlWorkSheet для расчетного листа, xlChart для диаграммы. Если местоположение не указывать, то лист будет вставляться относительно текущего листа.

Sub Test()

With Application.Workbooks.Item("Test.xls")

Sheets.Add

End With

End Sub

Метод Parent позволяет узнать какой книге принадлежит текущий лист.

Sub Test()

With Application.Workbooks.Item("Test.xls")

MsgBox (Sheets.Parent.Name)

End With

End Sub

Если у Вас есть желание, то некоторые листы можно убрать из обзора. Это бывает полезно, если у Вас есть константы или расчеты, которые Вы не хотите чтобы видели на экране в виде листов. Для этого можно использовать метод Visible. Устанавливая это свойство в TRUE или FALSE вы сможете убирать и показывать лист.

Sub Test()

With Application.Workbooks.Item("Test.xls")

.Sheets.Item("Лист5").Visible = False

End With

End Sub

Шаг 9 - Еще о Sheets

Один из полезных методов это метод Copy. Он позволяет создавать новый лист на основе существующего, то есть использовать лист как шаблон для других листов. Переименуйте любой лист в имя Test. Это можно сделать нажав правую кнопку мыши на названии листа и выбрав пункт меню Переименовать. Создайте на листе любое форматирование. after это лист, после которого произойдет вставка.

Sub Test()

With Application.Workbooks.Item("Test.xls")

Sheets("Test").Copy, after:=Sheets("Лист3")

End With

End Sub

У метода Copy есть особенность. Если не указывать параметры, то будет создана новая книга с копируемым листом.

Sub Test()

With Application.Workbooks.Item("Test.xls")

Sheets("Test").Copy

End With

End Sub

При необходимости передвинуть лист есть метод Move:

Sub Test()

With Application.Workbooks.Item("Test.xls")

Sheets("Test").Move, after:=Sheets("Лист3")

End With

End Sub

Так как коллекция эта содержит обьекты листа у неё есть несколько полезных методов. Один из них PrintPreview позволяющий вызывать предварительный просмотр.

Sub Test()

With Application.Workbooks.Item("Test.xls")

Sheets("Test").PrintPreview

End With

End Sub

Программным путем можно и выделять листы. Это метод Select. У него один параметр типа BOOL, если он установлен в TRUE, то происходит выделения листа, а если FALSE, то выделение объединяющее. Выделите другой лист и запустите следующий макрос.

Sub Test()

With Application.Workbooks.Item("Test.xls")

Sheets("Test").Select (False)

End With

End Sub


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: