ОПП(Лекция4)[2014]
.pdfОфисное прикладное программирование
(VBA)
Тема: Коллекции Excel
Андреева В.В. - 2014
Коллекции Excel
Application
Workbooks(Workbook) |
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Worksheets(Worksheet) |
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
Charts (Chart) |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
CommandBars (CommandBar) |
|
|
(1) |
|||||||
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
Styles (Style) |
|
|
|
|
|
(2) |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
Borders (Border) |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
||||
|
|
Font |
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
||||||
|
Windows (Window) |
|
|
(3) |
|||||||
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|||||
|
|
Panes (Pane) |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|||||||
|
Names (Name) |
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
Assistant
Debug
Dialogs (Dialog)
CommandBars (CommandBar)
Names (Name)
Windows (Window)
Panes (Pane)
VBE
Объект Workbook(рабочая книга) содержит:
Sheets - возвращается объект Sheets типа
(Worksheet (рабочий лист) / Chart (диаграмма))
Worksheets(WorkSheet) - коллекция листов данной книги. Charts(Chart) – коллекция диграмм данной книги
Методы коллекции Sheets/WorkSheet:
Add - добавление листа в книгу;
Delete - удаление листа;
Item - получение доступа к листу;
Select - выделение листа.
Работаслистамикниги.
Application.ActiveWorkbook. Worksheets(<индекс >). … Application.Workbooks(2). Worksheets(<индекс >). … Application.ActiveSheet. …
ActiveWorkbook.Worksheets.Add [after:= или before:= <индекс>,[count],[type]]
ActiveWorkbook.Worksheets.Add Count:=12 ActiveWorkbook. Worksheets.Add _ Before:=Worksheets(Worksheets.Count)
ActiveWorkbook.Worksheets(<индекс,ключ>).Delete
Замечание: перед удалением листа всегда выдается просьба подтвердить удаление.
Worksheets(“Лист1”).Delete
Application.Workbooks(2). Worksheets(1).Delete
Свойства-участники объекта Worksheet
Cells - возвращаетобъект Range - множество всехячеек листа;
Columns - возвращаетобъект Range - множествовсех
столбцовлиста;
Rows - возвращаетобъект Range - множествовсехстрок
листа;
Свойство Name объекта Worksheet
Изменить имя текущего листа:
Application.ActiveSheet.Name = “Январь”
Application.ActiveWorkbook. Worksheets(1).Name = “Январь”
Application.Workbooks(2). Worksheets(1).Name = “Январь”
Оператор For Each...Next cинтаксис:
For Each элемент In коллекция/массив [операторы]
[Exit For] [операторы] Next [элемент]
Sub ChangeName()
Dim i As Integer
For Each sh In ActiveWorkbook.Worksheets sh.Name = “Листочек" + Str(i)
i = i + 1 Next sh
End Sub
Свойство Visible объекта Worksheet
Visible = {-1,0,2}
xlSheetHidden 0 – лист спрятанный xlSheetVeryHidden 2 – лист спрятанный от пользователя
xlSheetVisible -1 – лист видимый
ActiveWorkbook.Worksheets(1).Visible = xlSheetHidden