- •Билет №1
- •Билет №2 Понятие объекта, свойств, методов и событий, присущих объекту. Синтаксис языка для работы со свойствами и методами. Примеры.
- •Вопрос №3
- •Вопрос № 4
- •Билет № 5 Константы и переменные. Описание и инициализация. Область видимости переменных. Примеры.
- •Вопрос №6 Операции. Приоритет операций. Примеры.
- •Вопрос 7. Типы данных. Примеры
- •Dim r As Byte
- •8.Управляющие конструкции If…Then и Select…Case. Примеры
- •9) Операторы цикла For…Next и Do…Loop. Особенности использования. Примеры
- •Функции работы со строками. Примеры.
- •Следующие три функции позволяют работать с массивом строк
- •И последние две функции генерируют строки символов
- •Функции работы с датами. Примеры.
- •12. Работа с объектом Range. Выделение диапазона. Свойства CurrentRegion и Selection. Примеры.
- •13)Работа с объектом Range.
- •14)Работа с объектом Range.
- •15) Работа с объектом Range.
- •4) Column Возвращает номер первого столбца в первой области, в указанном диапазоне. Свойство только для чтения.
- •5) Columns в отличие от предыдущего свойства, Columns возвращает не простое число, а объект Range, представляющий собой один столбец из всего диапазона.
- •6) Comment Возвращает объект Comment для Range. В данном случае Range должен определять одну ячейку.
- •Вопрос 16
- •Билет № 17 Редактор vba. Назначение. Окно редактора.
- •Вопрос 18.
- •19 Вопрос. Пользовательские формы.
- •Билет №21
- •Вопрос 22
- •End With
- •Вопрос 23
Вопрос №3
Объекты, составляющие коллекции. Обращение к ним. Объекты Workbook и Worksheet. Ссылки на объекты. Примеры.
Коллекция - объект, используемый для группировки связанных объектов и управления ими.
Коллекции имеют общие методы и свойства:
-Метод Add – добавить элемент
- Метод Remove-удалить элемент
- Метод Clear-удалить все элементы
-Свойство Count – узнать количество элементов коллекции
- Метод Item-получить определенный элемент коллекции
Объекты, составляющие коллекции
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, проще использовать буфер и стандартную технику "Копировать" - "Вставить".
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, копирующий диапазон ячеек рабочего листа. Понятно, что для листов диаграмм этот метод неприменим.
Коллекция UserForms – все загруженные формы в приложении. Имеет основные свойства коллекции (add,count, item)
Коллекция 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 — сводных таблиц).
Обращение к элементам коллекции:
По имени: Worksheets(“Лист1”)
По номеру в коллекции : Worksheets(1) - первый рабочий лист Sheets(1) – первый лист книги
Объект Workbook
Объект Workbook – рабочая книга. Свойства (краткий вариант):
Свойство |
Описание |
ActivaSheet |
Возвращает активный лист книги |
ActiveChart |
Возвращает активную диаграмму |
Sheets |
Возвращает коллекцию всех листов книги |
Worksheets |
Возвращает коллекцию всех рабочих листов книги |
Charts |
Возвращает коллекцию всех диаграмм книги |
Count |
Возвращает число объектов коллекции Workbooks |
HasPssword |
Логическое свойство устанавливает, имеет ли книга пароль |
DisplayDrawingObjects |
Возвращает или устанавливает как в книге отображаются логические объекты. Допустимые значения:
|
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 – изменения значения в ячейке