Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Язык Visual Basic for Applications Билеты Bilety_Po_Programmirovaniyu.docx
Скачиваний:
30
Добавлен:
15.03.2015
Размер:
458.22 Кб
Скачать

Вопрос №3

Объекты, составляющие коллекции. Обращение к ним. Объекты Workbook и Worksheet. Ссылки на объекты. Примеры.

Коллекция -  объект, используемый для группировки связанных объектов и управления ими.

Коллекции имеют общие методы и свойства:

-Метод Add – добавить элемент

- Метод Remove-удалить элемент

- Метод Clear-удалить все элементы

-Свойство Count – узнать количество элементов коллекции

- Метод Item-получить определенный элемент коллекции

Объекты, составляющие коллекции

  1.  Workbooks – коллекция, содержащая все открытые рабочие книги. Методы:

  • Add([Template]) As Workbook - добавляет новую книгу в коллекцию. Новая книга создается на основе шаблона, заданного параметром Template. Если он опущен, то используется шаблон по умолчанию. Метод возвращает в качестве результата созданную рабочую книгу.

  • Open(Filename As String, [UpdateLinks], [ReadOnly], [Format], [Password], [WriteResPassword], [IgnoreReadOnlyRecommended], [Origin], [Delimiter], [Editable], [Notify], [Converter], [AddToMru]) As Workbook - открывает существующую книгу. При открытии можно задавать параметры, управляющие свойствами открываемого документа. Обязательным параметром является только первый, задающий имя файла, содержащего открываемую книгу.

  • Close -закрывает все книги коллекции. При закрытии той или иной книги может появиться диалоговое окно с предложением сохранить сделанные изменения.

  • OpenText(Filename As String, [Origin], [StartRow], [DataType], [TextQualifier As XlTextQualifier = xlTextQualifierDoubleQuote], [ConsecutiveDelimiter], [Tab], [Semicolon], [Comma], [Space], [Other], [OtherChar], [FieldInfo], [TextVisualLayout], [DecimalSeparator], [ThousandsSeparator]) - открывает текстовый файл, содержащий таблицу, и создает рабочую книгу Excel, преобразуя текстовую таблицу в таблицу Excel. Это бывает важно, если таблицу, подготовленную в одном из текстовых редакторов, нужно импортировать в формат Excel. Обязательным параметром является имя файла, содержащего таблицу, подготовленную в текстовом редакторе. Остальные параметры задают характеристики таблицы. Конечно, для копирования таблицы, подготовленной в редакторе Word, проще использовать буфер и стандартную технику "Копировать" - "Вставить".

  1. Sheets – совокупность всех листов рабочей книги, независимо от их типа. Этот объект (задающий коллекцию) включает в себя две коллекции: а) Worksheets – коллекция рабочих листов б) Charts – коллекция листов диаграмм.

  • Коллекция Worksheets.  Имеет свойство Visible, которое позволяет сделать видимыми или невидимыми рабочие листы книги. У коллекции WorkSheets есть еще два свойства VpageBreaks и HpageBreaks, возвращающие одноименные коллекции, элементы которых задают вертикальное и горизонтальное деление рабочего листа на страницы, которые могут быть распечатаны. Дело в том, что рабочий лист Excel имеет большие размеры по ширине и длине, так что его полностью нельзя увидеть ни на экране дисплея, ни при выводе на печать. Поэтому при печати часто приходится делить рабочий лист, вставляя разрывы по горизонтали и вертикали. Коллекции VpageBreaks и HpageBreaks содержат объекты, задающие эти разрывы.

Методы коллекции Worksheets:

  • Function Add([Before], [After], [Count]) As Object - добавить лист (или несколько листов). Добавленный лист становится активным. [Before], [After] – позволяют указать куда поместить добавленный лист. [Count] – число добавляемых листов.

  • Sub Copy ([Before], [After]) – создание копии рабочей книги или отдельной страницы, в этом случае параметры указывают куда поместить копию.

  • Sub Delete() - удаляет коллекцию рабочих листов.

  • Sub FillAcrossSheets(Range As Range, [Type As XlFillWith = xlFillWithAll]) - область, заданная параметром Range, копируется в соответствующее место всех рабочих листов. Тип копирования задается вторым параметром, можно, например, копировать формулы, по умолчанию копируется все содержимое области, заданной параметром Range. Копируемый объект, естественно, должен быть частью одного из рабочих листов коллекции. 

  • Sub PrintPreview([EnableChanges]), Sub PrintOut([From], [To], [Copies], [Preview], [ActivePrinter], [PrintToFile], [Collate], [PrToFileName]) - используются для предварительного просмотра коллекции рабочих листов перед ее печатью и для печати коллекции.

  • Sub Select([Replace]) - используется для выделения листов коллекции.

  • Коллекция Charts . Элементами коллекции являются объекты класса Chart представляющие специальный тип листов рабочей книги - листы, содержащие диаграммы. Всякий раз, когда руками или программно создается диаграмма, ее можно встроить либо в рабочий лист, либо расположить на отдельном листе. Если предпочтение отдается второму варианту, то в коллекции Charts появляется новый элемент. Обратите внимание, все элементы этой коллекции являются объектами Chart, но не всякий объект Chart принадлежит этой коллекции. Коллекция Charts содержит тот же набор свойств и методов, что и коллекция WorkSheets, кроме метода FillAcrossSheets, копирующий диапазон ячеек рабочего листа. Понятно, что для листов диаграмм этот метод неприменим.

  1. Коллекция UserForms – все загруженные формы в приложении. Имеет основные свойства коллекции (add,count, item)

  2. Коллекция CommanBarControls – содержит все элементы конкретной панели инструментов или меню

Обращение к объектам VBA:

Для обращение к объектам VBA  вводятся названия всех рас­положенных выше в иерархической структуре объектов, разделенных точкой. 

Пример: открыты две книги, в обеих есть Лист 1. В этом случае в ссылке упоминается контейнер требуемого объекта: Workbooks ("Книга1"). Worksheets ("Лиет1"). Без указания рабочей книги редактор Visual Basic искал бы лист Лист1 в активной рабо­чей книге.

Иерархия объектов

Объект Application (то есть Excel ) содержит другие объекты. Ниже приведено не­сколько примеров объектов, которые находятся в объекте Application :

Workbooks (коллекция всех объектов Workbook —рабочих книг);

Windows (коллекция всех объектов Window — окон);

Addlns (коллекция всех объектов Addln — надстроек).

Некоторые объекты могут содержать другие объекты. Например, коллекция Workbooks состоит из всех открытых объектов Workbook , а объект Workbook включает другие объек­ты, некоторые из которых представлены ниже:

Worksheets (коллекция объектов Worksheet — рабочих листов);

Charts (коллекция объектов Chart —диаграмм);

Names (коллекция объектов Name — имен).

Каждый из этих объектов, в свою очередь, может содержать другие объекты. Коллекция Worksheets состоит из всех объектов Worksheet рабочей книги Workbook . Объект Worksheet включает другие объекты, среди которых следующие:

ChartObjects (коллекция объектов. ChartQb ject — элементов диаграмм);

Range — диапазон;

PageSetup — параметры страницы;

PivotTables (коллекция объектов PivotTable — сводных таблиц).

Обращение к элементам коллекции:

  1. По имени: Worksheets(“Лист1”)

  2. По номеру в коллекции : Worksheets(1) - первый рабочий лист Sheets(1) – первый лист книги

Объект Workbook

Объект Workbook – рабочая книга. Свойства (краткий вариант):

Свойство

Описание

ActivaSheet

Возвращает активный лист книги

ActiveChart

Возвращает активную диаграмму

Sheets

Возвращает коллекцию всех листов книги

Worksheets

Возвращает коллекцию всех рабочих листов книги

Charts

Возвращает коллекцию всех диаграмм книги

Count

Возвращает число объектов коллекции Workbooks

HasPssword

Логическое свойство устанавливает, имеет ли книга пароль

DisplayDrawingObjects

Возвращает или устанавливает как в книге отображаются логические объекты. Допустимые значения:

  1. xlDisplayShapes (отображать объекты)

  2. xlPlaceholders (отображать только очертания)

  3. xlHide (не отображать)

Name

Возвращает или устанавливает имя книги

Path

Возвращает полное имя папки, в которой находится книга

FullName

Возвращает полное имя, включая путь

Saved

Логическое свойство, которое устанавливает, не производились ли в книге изменения со времени ее последнего сохранения

Методы объекта Workbook (основные):

Activate

Активизирует рабочую книгу

Add

Создает новый объект коллекции Workbooks

Protect (Password,Structure,Windows)

Защищает книгу от внесения в нее изменений. Password – пароль , Structure – логический параметр, показывает защищена ли структура книги, ,Windows – логический параметр, который показывает, защищено ли окно книги

Unprotect(Password)

Снятие защиты с рабочей книги

Close

Закрытие книги

Open

Открытие книги

Save

Сохранение книги

SaveAs

Сохранение книги в другой файл

SaveAsCopy

Сохранить книгу в другой файл, оставляя рабочую книгу в памяти с прежним именем

PrintOut

Печать содержимого рабочей книги

События объекта Workbook:

BeforeClose – при закрытии книги

BeforePrint – перед печатью книги

BeforeSave – перед сохранением книги

ActivateEvent – при активации рабочей книги

Deactivate - при деактивации рабочей книги

NewSheet – при добавлении рабочего листа

Open – при открытии рабочей книги

Объект Worksheet

Worksheet – рабочий лист

Name

Возвращает имя рабочего листа:Worcsheets(1).Name=”Итоги”

Visible

True (False) – рабочий лист видим (невидим) на экране.

Range

Возвращает ссылку на указанный диапазон ячеек. Например: ActiveSheet.Range("B1")

 

UsedRange

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

ActiveCell

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

Cells

Возвращает коллекцию ячеек рабочего листа

Columns, Rows

Возвращают коллекцию всех столбцов и строк рабочего листа или конкретные столбец или строку , если в скобках указан индекс

Методы объекта Worksheet

Метод

Описание метода

Activate

Активация рабочего листа

Select

Выбирает указанный рабочий лист

Add

Создает новый рабочий лист

Delete

Удаляет рабочий лист

Copy (Before, After)

Копирование рабочего листа в другое место рабочей книги Before – раб.лист, перед которым вставляется данный. After– раб.лист, после которого вставляется данный.Допустимо использование только одного из аргументов.

Move(Before, After)

Перемещение листа в другое место книги. Before – раб.лист, перед которым вставляется данный. After– раб.лист, после которого вставляется данный.Допустимо использование только одного из аргументов.

Protect (Password, DrawingObjects,Contents,UserInterfaceOnly)

Защищает раб.лист от изменений. Password-пароль, остальные параметры принимают логические значения: DrawingObjects –защита графических объектов, Contents-защита содержимого ячеек, UserInterfaceOnly – защита только от пользователя, изменения программой допускаются

Unprotect (Password)

Снимает защиту с раб.листа

События объекта Worksheet

BeforeClose – при закрытии книги

BeforePrint – перед печатью книги

BeforeSave – перед сохранением книги

Deactivate - при деактивации рабочей книги

NewSheet – при добавлении рабочего листа

Open – при открытии рабочей книги

SheetActivate – при активации рабочего листа

SheetDeactivate – при деактивации рабочего листа

Change – изменения значения в ячейке

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]