Logo GenDocs.ru

Поиск по сайту:  

Загрузка...

Методы объекта Application - файл 1.doc


Методы объекта Application
скачать (122 kb.)

Доступные файлы (1):

1.doc122kb.16.11.2011 05:12скачать

1.doc

Министерство образования Российской Федерации

ГОУ ВПО

Уфимский государственный авиационный технический университет


Кафедра ____________________


КОНТРОЛЬНАЯ РАБОТА

по дисциплине

«Введение в визуальное программирование».


Тема: Методы объекта Application.


Группа __________


Студент ________________ ________________ _________________


Рецензент ________________ ________________ _________________


______________

«оценка»


г. Уфа

2009 г.

Содержание



Список используемой литературы. 22



Введение


Программирование в Excel, в основном, сводится к управлению объектами. Эта задача выполняется с помощью инструкций, введённых на языке, понятном Excel .

Visual Basic For Application (далее VBA) – немного упрощённая реализация языка программирования Visual Basic, встроенная в линейку продуктов Microsoft Office (включая версии для Mac OS), а так же во многие другие программные пакеты, такие как AutoCAD, WordPerfect и ESRI ArcGIS. VBA покрывает и расширяет функциональность ранее использовавшихся специализированных макро-языков, таких как WordBasic.

VBA является интерпретируемым языком. Как и следует из его названия, VBA близок к Visual Basic, но может выполняться лишь в рамках приложения, в которое он встроен. Кроме того, он может использоваться для управления одним приложением из другого, с помощью OLE Automation (например, таким образом можно создать документ Word на основе данных из Excel). В будущем Microsoft планирует заменить VBA на Visual Studio Tools for Applications (VSTA) — инструментарий расширения функциональности приложений, основанный на Microsoft .NET.

VBA в настоящее время входит в состав всех приложений Microsoft Office и даже приложений других компаний. Следовательно, овладев VBA для Excel, можно сразу перейти к созданию макросов для других программных продуктов Microsoft (равно, как и приложений других компаний). Более того, можно создавать полноценные программные продукты, одновременно использующие функции самых разных приложений.

^ 1 Объектные модели


Секрет использования VBA заключается в правильном понимании объектной модели в каждом отдельном приложении. Следует отметить, VBA всего лишь управляет объектами, а у каждого программного продукта (Excel, Word, Access, PowerPoint и т.п.) своя объектная модель. Приложением можно управлять программным образом только с помощью объектов, которые представлены в этом приложении.

Например, в объектной модели Excel представлено несколько мощных объектов анализа данных, например, рабочие листы, диаграммы, сводные таблицы, сценарии, а также многочисленные математические, финансовые, инженерные и общие функции. С помощью VBA можно работать с этими объектами и разрабатывать автоматизированные проце­дуры.


^ 2 Основы VBA


Предназначение VBA:

1.Действия в VBA осуществляются в результате выполнения кода VBA.

2. Разработчик создаёт (или записывает) программу VBA, которая сохраняется в модуле VBA

Модуль VBA состоит из процедур.

Процедура, по существу, представляет собой элемент компьютерной программы, выполняющей определенное действие. Ниже приведен пример простой процедуры под названием Test: она вычисляет сумму, а затем отображает результат в окне сообщений:

Sub Test ()

Sum =1+1

MsgBox "Ответ: " & Sum

End Sub


Кроме процедур Sub, в модуле VBA может использоваться второй тип процедур — функции.

Процедура функции возвращает одно значение (или массив). Функция может быть вызвана из другой процедуры VBA или использоваться в формуле рабочего листа. Ниже приведен пример функции с названием AddTwo:

Function AddTwo (arg1, arg2)

AddTwo = arg1 + arg2

End Function


Excel позволяет управлять более, чем ста классами объектов, включая рабочую книгу, рабочий лист, диапазон ячеек рабочего листа, диаграмму и нарисованный прямоугольник. В распоряжении разработчика находятся и другие объекты, с которыми можно работать в VBA.


^ 3 Классы объектов


Классы объектов в VBA организованы в иерархическую структуру.

Объекты могут быть контейнерами для других объектов. Например, Excel — это объект под названием Application, он содержит другие объекты, например, Workbook (Рабочая книга).

Объект Workbook может состоять из других объектов, например, Worksheet (Рабочий лист) и Chart (Диаграмма).

Объект Worksheet также содержит объекты, например, Range (Диапазон), PivotTable (Сводная таблица) и т.д. Организацию таких объектов называют объектной моделью Excel.

Одинаковые объекты формируют коллекцию.

Например, коллекция Worksheets состоит из всех рабочих листов конкретной рабочей книги, а коллекция CommandBars — из всех объектов CommandBar. Коллекции — это объекты в себе.

При ссылке на объект, вложенный в другой объект, положение в иерархической структуре объектной модели задается с помощью точки-разделителя.

Например, на рабочую книгу с названием Книга1.xls можно сослаться следующим образом:

Application. Workbooks («Книга1.xls»)

Это ссылка на рабочую книгу Книга1.xls в коллекции Workbooks. Коллекция Workbooks находится в объекте Application. Переходя на следующий уровень, можно сослаться на лист под названием «Лист1» в книге Книга1.xls:

Application. Workbooks («Книга1.хls»).Worksheets («Лист1»)

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

Application. Workbooks («Книга1.xls»). Worksheets («Лист1»). Range(«А1»)

При опущенной ссылке на объект Excel по умолчанию используются активные объекты. Если книга Лист1 — активная рабочая книга, то предыдущую ссылку можно упростить: Worksheets («Лист1»). Range («А1»)

Если лист «Лист1» — активный, то ссылку можно упростить еще больше:

Range («A1»)


^ 4 Свойства объектов


Все объекты обладают свойствами. Например, объект Range обладает свойством с названием Value. Например, можно создать оператор VBA, чтобы отобразить свойство Value или задать свойству Value определенное значение. Ниже приведена процедура» использующая функцию VBA MsgBox для отображения окна, в котором представлено значение ячейки А1 листа Лист1 активной рабочей книги.


Sub ShowValue ()

HsgSox Worksheets («Лист1»). Range («А1»). Value

End Sub


Код предыдущего примера отображает текущее значение свойства Value для конкретной ячейки — А1 рабочего листа Лист1 активной рабочей книги. Однако если в активной книге отсутствует лист с названием Лист1, то макрос выдаст ошибку.

MsgBox — полезная функция, часто используемая для отображения результатов выполнения операторов VBA.

Также разработчик вправе изменять свойство Value . Ниже приведена процедура по изменению значения ячейки А1 путем определения значения свойства Value:


Sub ChangeValuе ()

Worksheets («Лист1»), Range(«Al»). Value = 123

End Sub


После выполнения этой процедуры ячейка A1 листа Лист1 получает значение 123. Можно ввести описанные процедуры в модуль и протестировать их.

Многие объекты имеют свойство по умолчанию. Для объекта Range свойством по умолчанию является Values. Следовательно, выражение .Value в приведенном выше коде можно опустить, и ничего не изменится. Однако лучше включать ссылку на свойство, даже если оно используется по умолчанию.

Свойство можно считать параметром или настройкой объекта. Например, объект диапазона имеет такие свойства, как Value (Значение) и Name (Имя). Объект диаграммы обладает такими свойствами, как HasTitle (Заголовок) и Туре (Тип). Разработчик вправе использовать VBA, чтобы задать свойства объектов и их изменить.

Свойства в программном коде отделяются от названия объекта точкой.

Например, можно сослаться на значение в ячейке А1 листа «Лист1» следующим образом:

Worksheets («Лист1»). Range («А1»). Value

Пользователь вправе присваивать значения переменным VBA. Переменную можно считать константой, которая используется для хранения конкретного значения.

Чтобы присвоить значение ячейки А1 листа Лист1 переменной с названием Interest, можно использовать следующий оператор VBA:


Interest = Worksheets («Лист1»). Range («А1») .Value


Свойства Active… возвращают соответственно активную ячейку (ту, на которую указывает курсор ввода данных), активную диаграмму, активный лист, активную книгу, активное окно. Все эти свойства доступны только для чтения. Собственно говоря, использовать их для создания объектов совсем не обязательно — объекты ActiveCell, ActiveSheet и т.п. создаются автоматически во время работы приложения и доступны всегда. Немного отличается свойство ActivePrinter — оно позволяет не только вернуть, но и установить активный принтер.

Свойство AddIns возвращает одноименную коллекцию надстроек (объектов AddIn). В Excel работа с этим объектом имеет практическое значение для многих пользователей. Вместе с Excel поставляется несколько очень полезных надстроек (на графическом экране в Excel они доступны через меню Сервис -> Надстройки), например, Мастер подстановок, Пакет анализа, Поиск решения и т.п. При помощи этой коллекции можно проверять, подключена ли пользователем нужная надстройка (если она нужна вашей программе) и в случае необходимости автоматически ее подключить.

AutoRecover — возвращает одноименный объект, который позволяет определить параметры автосохранения Excel. Например, чтобы открытые документы Excel автосохранялись каждые 5 минут, можно использовать код


Application.AutoRecove.Time = 2

Время указывается в минутах, можно использовать значения в интервале от 1 до 120. На графическом экране тоже самое можно сделать при помощи меню Сервис -> Параметры -> вкладка Сохранение.

Свойство Calculation позволяет определить или узнать режим пересчета рабочей книги (по умолчанию — автоматически, можно также использовать ручной пересчет или полуавтоматический, когда автоматически пересчитывается все, кроме таблиц). Есть смысл отключать автоматический пересчет тогда, когда пересчет значений после каждого изменения ячейки занимает много времени и мешает вводу данных. То же самое на графическом экране можно настроить при помощи меню Сервис -> Параметры -> вкладка Вычисления (явно дать команду на пересчет можно клавишей <F9>).

Свойство CalculationState позволяет проверять, занимается ли Excel пересчетом данных или пересчет уже завершен.

Cells — одно из самых важных свойств объекта Application. Оно возвращает объект Range, представляющий все ячейки в активном листе активной книги. Поскольку свойство по умолчанию для объекта Range — это свойство Item, то обращение к ячейкам активного листа может выглядеть так:


Application.Cells(1,2).Font.Bold = True


В данном случае мы выделили полужирным ячейку на пересечении первой строки и второго столбца.

Очень, похоже, действуют свойства Columns и Rows. Например, чтобы проделать подобную операцию с целым столбцом (вторым), можно использовать команду вида


Application.Columns(2).Font.Bold = True


а для строки (второй) можно воспользоваться очень похожей командой


Application.Rows(2).Font.Bold = True


Еще раз отметим, что свойства Cells, Columns и Rows возвращают вовсе не наборы объектов Cell, Column и Row, как считают многие пользователи, а наборы объектов Range. На использовании объекта Range построена в Excel почти вся работа с ячейками и их значениями. Ниже в этой главе объекту Range будет посвящен отдельный раздел.

Cursor — это свойство позволяет поменять внешний вид указателя мыши в Excel. Обычно перед выполнением длинной расчетной операции курсору придают вид песочных часов (xlWait), а потом возвращают обратно. Автоматически по завершению работы макроса курсор не возвращается к нормальному виду — нужно предусмотреть соответствующий код.

DataEntryMode — очень интересное свойство, которое может уберечь пользователя от множества ошибок. Оно позволяет перейти в режим ввода данных — data entry mode, когда пользователю разрешается только вводить данные в разблокированные ячейки выбранного диапазона. Всего в вашем распоряжении три варианта: xlOn — включить этот режим, xlStrict — включить плюс сделать так, чтобы пользователь не мог из него выйти при помощи клавиши <Escape>, xlOff — режим отключить.

Свойства DecimalSeparator и ThousandsSeparator позволяют не полагаться на региональные настройки на компьютере пользователя, а явно назначить символы, которые будут отделять дробную часть от целой и тысячи друг от друга. При использовании этих свойств рекомендуется также отключить использование системных установок при помощи свойства UseSystemSeparators:


Application.UseSystemSeparators = False


Свойство Dialogs возвращает одноименную коллекцию Dialog, которую можно использовать для отображения диалоговых окон Excel (их предусмотрено несколько сотен) и определять реакцию на действия в них пользователей. Фактически поднабором для этого объекта является объект FileDialog, представляющий окна, предназначенные только для работы с файлами (например, окно открытия файла).

DisplayAlerts — свойство, но по причине его большой важности повторим еще раз. Это свойство позволяет отключить показ различных предупреждений, которые пользователю обычно в ходе работы приложения показывать не надо (например, подавить предупреждение при закрытии ненужного файла, в котором не были сохранены изменения).

EnableEvents — возможность на время отключить события для объекта Application, так что они срабатывать не будут (обычно перед выполнением какого-то действия — открытия файла, сохранения и т.п.).

ErrorCheckingOptions — возможность получить ссылку на одноименный объект, при помощи свойств которого можно настроить параметры автопроверки Excel (сообщать ли пользователю о синтаксически неверных формулах, ссылках на пустые ячейки и т.п.). По умолчанию большинство проверок включено, поэтому к этому объекту есть смысл обращаться только тогда, когда вы хотите их отменить.

FileDialog — возможность обратиться к диалоговым окнам открытия и сохранения файлов (то же самое можно сделать при помощи более общего свойства Dialogs). Например, чтобы предоставить пользователю выбрать единственный файл в окне открытия (и получить полный путь к нему), можно воспользоваться кодом


Application.FileDialog(msoFileDialogOpen).AllowMultiSelect = False


Application.FileDialog(msoFileDialogOpen).Show


Debug.Print Application.FileDialog(msoFileDialogOpen).SelectedItems(1)


Похожий пример с возможностью выбрать сразу несколько файлов приведен в справке по этому свойству.

FileSearch — это свойство позволяет провести поиск по указанному вами каталогу и вывести результаты.

Interactive — это свойство позволяет полностью заблокировать ввод в приложение Excel со стороны пользователя (как клавиатуру, так и мышь). Обычно используется, чтобы пользователь не смог помешать работе приложения, например, сбить выделение. Можно также использовать, если ввод пользователя производится из другого приложения, взаимодействующего с Excel.

Свойство LibraryPath возвращает путь к каталогу, где лежат файлы надстроек Excel — XLA. По умолчанию — \Office11\Library.

Свойство MoveAfterReturn позволяет включить/отключить переход на следующую ячейку после завершения ввода данных и нажатия на <Enter> (по умолчанию — включено), а свойство MoveAfterReturnDirection позволяет определить направление перехода. В некоторых ситуациях это может сильно упростить ввод данных пользователем. Например, чтобы переход происходил на ячейку справа, можно использовать команду


Application.MoveAfterReturnDirection = xlToRight


Свойство Names позволяет вернуть коллекцию Names, представляющую все именованные диапазоны в активной рабочей книге. При помощи метода Add() коллекции Names вы можете также сами определять в рабочей книге свои именованные диапазоны. На практике именованные диапазоны работают примерно так же, как закладки в Word — при помощи их очень удобно определять наборы данных в сложных таблицах Excel. На графическом экране в Excel определить именованные диапазоны можно при помощи меню Вставка -> Имя.

Свойства ODBCErrors и OLEDBErrors позволяют получать информацию о возникших ошибках при подключении к базам данных ODBC и OLEDB соответственно. Реально они возвращают одноименные коллекции, которые состоят из объектов ODBCError и OLEDBError соответственно, их которых и можно получить информацию об ошибке.

OnWindow — это свойство больше похоже на событие. В качестве его значения указывается имя процедуры, которая должна находиться в модуле уровня книги (по умолчанию такой модуль не создается — его нужно создать вручную). Эта процедура будет вызываться всякий раз, когда пользователь переключился в окно Excel (не важно, какой книги и какого листа). Вместо этого свойства можно использовать макросы со специальными именами Auto_Activate и Auto_Deactivate (они будут срабатывать после выполнения процедуры, определенной в OnWindow).

Range — очень важное свойство. Возвращает объект Range, который представляет собой диапазон ячеек и используется в Excel практически для любых операций с ячейками.

ReferenceStyle — возможность переключить режим отображения ячеек между A1 (буквы — столбцы, цифры — строки) и R1C1 (когда и строки, и столбцы указываются цифрами). На графическом экране это можно сделать через меню Сервис -> Параметры -> вкладка Общие, флажок стиль ссылок R1C1. На практике пользователям ближе стиль вида A1, а программистам, конечно, R1C1 (особенно в тех ситуациях, когда столбцов очень много и приходится использовать столбцы AA, AB и т.п.). Во многих ситуациях удобно бывает перед выполнением какой-то программной операции вначале перевести режим отображения в R1C1, а после окончания на радость пользователям вернуть обратно. Можно этим и не заниматься, а использовать другие способы для отсчета определенного количества столбцов.

Selection — как несложно догадаться, это свойство возвращает то, что в настоящий момент выбрал пользователь. Если он выбрал обычные ячейки в таблице, то вернется объект Range. Если же пользователь выбрал что-то на диаграмме, то может вернуться объект осей, легенды и т.п. — в зависимости от того, что было выбрано.

Sheets — это свойство мы будем подробнее разбирать в разделе, посвященном книгам Excel. Оно возвращает коллекцию Sheets — набор листов книги (если вызывается для приложения, то для активной книги) и набор диаграмм, которые находятся на отдельных листах. Если используется свойство Worksheets, то вернется та же коллекция Sheets, но уже состоящая только из объектов Worksheet — обычных листов (без диаграмм).

TemplatesPath — свойство для чтения, при помощи которого можно вернуть информацию о каталоге с шаблонами Excel (например, для размещения собственного шаблона или открытия шаблона из этого каталога). По умолчанию используется каталог Application Data\Microsoft\Templates в профиле пользователя.

ThisCell и ThisWorkbook — очень удобные свойства, которые позволяют обращаться к текущей ячейке и текущей книге, не обременяя себя созданием объектных переменных. Эти объекты создавать не нужно — они и так изначально существуют в работающем Excel.

Свойства Windows, Workbooks и Sheets возвращают, соответственно, все открытые окна, книги и листы Excel. Про объекты рабочей книги и листа мы будем говорить ниже.

Свойство WorkSheetFunction позволяет использовать в программе на VBA функции Excel напрямую, без необходимости прописывать их в какую-либо ячейку.


^ 5 Методы объектов


Кроме свойств, объекты имеют методы. Простой пример - использование метода Clear по отношению к диапазону ячеек. После выполнения этой процедуры ячейки А1:СЗ листа Лист1 станут пустыми, и дополнительное форматирование ячеек будет удалено.


Sub SapRange ()

Worksheets («Лист1»). Range («Al:C3»). Clear

End Sub


Если необходимо удалить значения в диапазоне, но оставить форматирование, можно использовать метод ClearContents объекта Range.

Многие методы получают аргументы, определяющие выполняемые над объектом действия более детально. Далее приводится пример, в котором ячейка А1 копируется в ячейку В1 с помощью метода Сору объекта Range.

В данном примере метод Сору получает один аргумент (адрес ячейки, в которую следует скопировать данные):


Sub CopyOnet ()

Worksheets («Лист1»). Range («Al») . Copy _

Worksheets («Лист1»). Range («В1»)

End sub


У объектов есть методы.

Метод - это действие, которое выполняется над объектом. Например, один из методов объекта Range — ClearContents. Этот метод удаляет содержимое диапазона ячеек.

Методы вводятся после названия объекта с методом, в роли разделителя выступает точка.

Например, для удаления содержимого ячейки А1 активного рабочего листа используется следующая команда:


Range («А1»). ClearContents

ActivateMicrosoftApp() — специальный метод, который предназначен для запуска и активизации (или просто активизации, если приложение уже запущено) приложений Office (Word, Access, PowerPoint) и некоторых других (Project, FoxPro, Schedule Plus).

AddCustomList() — возможность создать новый пользовательский список. В качестве параметра принимает либо объект Range (элементами списка станут те значения, которые есть в диапазоне), либо просто стандартный объект Array. Удалить можно при помощи метода DeleteCustomList().

Методы, которые начинаются на Calculate…, позволяют пересчитать значения в ячейках. Просто Calculate() — обычный пересчет значений (чаще всего нужен, если автопересчет отключен), CalculateFull() — пересчитать значения во всех открытых книга, CalculateFullRebuild() — еще и произвести перестроение формул (аналогично занесению всех формул заново). Остановить пересчет можно при помощи метода CheckAbort().

ConvertFormula() — возможность преобразовать формулу двумя способами: либо перевести адресацию ячеек в другой режим (например, вместо A1 в R1C1), либо поменять абсолютные ссылки на относительные и наоборот. В качестве параметра принимает строковую переменную с текстом формулы (должна начинаться с символа =) и флаги конвертации.

DoubleClick() — эквивалентно двойному щелчку мышью по активной ячейки, то есть переход в режим ввода данных в эту ячейку.

Evaluate() — очень полезный и часто используемый метод. Позволяет по имени найти объект книги Excel и преобразовать его в объект или значения для дальнейшего использования. В качестве имен этот метод принимает:

имена ячеек в стиле A1 (возвращается объект Cell)

имена диапазонов (возвращается объект Range)

имена, определенные в макросе (чаще всего — названия переменных)

ссылки на внешние книги (например, Evaluate("[Book1.xls]Sheet1!A5"))

Эту функцию можно вызвать и неявно — просто заключив имя объекта в квадратные скобки. Например, такие строки будут абсолютно одинаковыми по значению:


[A1].Value = 25

Evaluate("A1").Value = 25


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

Таким образом, метод Evaluate() — это самый простой и естественный метод обратиться к ячейке или диапазону в своей или чужой книге Excel.

GetOpenFilename() — это упрощенный способ работы с окном открытия файлов. Самый простой способ открыть диалоговое окно Open и получить информацию о том, что выбрал пользователь (в виде строковой переменной с информацией о имени файла с полным путем), выглядит так:


Filename = Application.GetOpenFilename()

If Filename <> False Then

Debug.Print Filename

End If


GetSaveAsFilename() — такой же по функциональности способ, который работает с окном Save As.

GoTo() — важный и часто используемый метод. Принимает в качестве параметра объект Range, строку со ссылкой на ячейку (в формате R1C1) или имя процедуры VBA и выделяет и активизирует диапазон/ячейку или запускает на выполнение (если передается имя процедуры). В отличие от метода Select(), этот метод еще и автоматически активизирует лист, на котором расположен диапазон или ячейка.

Help() — этот метод позволяет открыть и показать информацию из файла справки (в том числе пользовательского). В качестве параметра принимает имя файла справки и метку темы в нем.

Метод Intersect() возвращает диапазон, который представляет область пересечения двух других (или более) диапазонов. Если передаваемые в качестве параметров диапазоны не пересекаются, возвращается Nothing.

OnKey() — этот метод позволяет "посадить" процедуру VBA на определенную клавиатурную комбинацию. Например, чтобы назначить процедуру Msg() из модуля Лист1 клавиатурной комбинации <Alt>+<M>, можно воспользоваться командой


Application.OnKey "%{m}", "Лист1.Msg"


OnRepeat() — возможность назначить процедуру, которая будет выполняться при использовании команды Повторить в меню Правка. Назначение процедуры команде Отменить в том же меню производится при помощи метода OnUndo().

RegisterXLL() — возможность подключить файл надстройки Excel с расширением XLL и зарегистрировать его функции и процедуры. Этот метод используется при установке собственного приложения.

Метод Repeat() позволяет просто повторить действие, которое было выполнено последним пользователем (не программным способом). Аналогично команде Повторить в меню Правка. Отменить действие пользователя можно при помощи метода Undo().

Метод Run() позволяет выполнить: процедуру или функцию VBA, макрос Excel или процедуру или функцию в модуле XLL (и передать ей до 30 параметров).

Метод SendKeys() позволяет эмулировать нажатия клавиш и передать их в активное окно приложения. Обычно используется, если нужно что-то продемонстрировать пользователю (в этом случае используются паузы) или нужно что-то сделать через меню (например, не удалось найти, как это можно сделать через код).

Union() — это важный метод позволяет объединить два или более диапазонов.

Volatile() — этот хитрый метод должен вызываться только из пользовательской функции, которая вычисляет значение ячейки. Если он вызван и ему передано значение True, то данная ячейка становится чувствительной (volatile) и она будет пересчитываться при любом изменении значений в листе, даже том, которое ее не касается.

Wait() — это метод позволяет приостановить работу Excel на указанное вами время, сняв нагрузку с процессора. Используется для демонстраций — чтобы пользователь успел увидеть, что происходит, для ожидания завершения выполнения какой-либо внешней операции и т.п. При этом ввод пользователя блокируется, а указатель мыши приобретает вид песочных часов. Однако некоторые фоновые операции Excel, такие, как печать и пересчет значений, продолжают выполняться. Например, чтобы взять паузу на пять секунд, можно воспользоваться кодом


If Application.Wait(Now + TimeValue("0:00:5")) Then

MsgBox "Пять секунд прошло"

End If


^ 6 Редактор VBE


В Excel 5 и Excel 95 модуль VBA записывался на отдельном листе рабочей книги. Начиная с версии Excel 97t модули VBA уже не представляются в виде листов рабочей книги. Вместо этого для работы и просмотра модулей VBA используется редактор Visual Basic (VBE — Visual Basic Editor).

Модули VBA все еще сохраняются вместе с файлами рабочей книги; просто они не видны до тех пор, пока не запущен редактор VBE.

VBE— это отдельное приложение, запускающееся в Excel. Программа сама выполняет всю операцию по запуску VBE, когда это необходимо, VBE не может запускаться отдельно от Excel; для запуска VBE используется только Excel.

Во время работы в Excel перейти к окну VBE с помощью одного из следующих способов.

1)Нажать <AU+F1

2)Выбрать команду Сервис=>Макрос=>Редактор Visual Basic.

3)Щелкнуть на кнопке Редактор Visual Basic, расположенной на панели инструментов Visual Basic.


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


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

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

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

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

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

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

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

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

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

Chartobjects (коллекция объектов Char tobject — элементов диаграмм);

Range — диапазон;

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

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

Одной из ключевых концепций в программировании на языке VBA являются коллекции. Коллекция — это группа, объектов одного класса [и сама коллекция тоже является объектом). Как указывалось выше: Workbooks — это коллекция всех открытых в данный момент объектов Workbook. Worksheets — коллекция всех объектов Worksheet, которые содержатся в конкретном объекте Workbook. Разработчик может одновременно управлять целой коллекцией объектов или отдельным объектом этой коллекции. Чтобы сослаться на один объект из коллекции, необходимо ввести название или номер объекта в скобках после названия коллекции:


Worksheets («Лист1»)


Если лист «Лист1» — это первый рабочий лист в коллекции, то можно использовать сле­дующую ссылку:


Worksheets (1)


На второй лист в рабочей книге Workbook можно сослаться соответственно следующим образом:


Worksheets (2)


Кроме того, существует коллекция с названием Sheets, состоящая из всех листов рабо­чей книги, рабочих листов и листов диаграмм. Если «Лист1» — первый лист в книге, то на не­го можно сослаться так


Sheets (1)


^

Список используемой литературы.




  1. А. Гарнаев – Самоучитель VBA, 2003;

  2. Использование макросов в Excel под редакцией С. Роман. – Спб. БХВ – Питер, 2004, - 507 с.;

  3. Материалы сети «Интернет».



Скачать файл (122 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации