Logo GenDocs.ru

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


Загрузка...

Шпоры по высокоуровневым методам информатики и программирования - файл 18.doc


Шпоры по высокоуровневым методам информатики и программирования
скачать (1945 kb.)

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

18.doc91kb.18.01.2009 16:22скачать
19.5.doc69kb.18.01.2009 14:39скачать
21.doc86kb.18.01.2009 16:21скачать
29.doc348kb.18.01.2009 14:36скачать
42.doc524kb.18.01.2009 14:52скачать
7.doc80kb.19.01.2009 00:41скачать
82].doc1941kb.18.01.2009 15:19скачать

содержание
Загрузка...

18.doc

Реклама MarketGid:
Загрузка...

  1. Объектная модель MS Office. Свойства, методы, объекты, семейства модели MS Office. Примеры.

Объекты Application


Всех объектов в Office 2000 не перечесть, но знать главные - обязательно. Давайте начнем знакомство с корней - объектов Application. Заодно посмотрим, что нового появилось в структуре этих объектов в сравнении с предыдущей версией. Чтобы облегчить и систематизировать нашу работу, мы по отдельности рассмотрим свойства - участники, терминальные свойства, методы и события этих объектов.

Свойства-участники


Свойства, представляющие вложенные объекты, называют свойствами-участниками. Если X является свойством - участником объекта Application, то обращение к свойству X возвращает ссылку на объект X. Обращение Application.X.Y.Z, где X, Y и Z - свойства-участники, позволяет добраться до объекта Z, находящегося на третьем уровне вложенности. Обычно цепочка именования начинается спецификатором (объектом) Application, но иногда его можно опустить. Некоторые свойства и методы объекта Application относятся к глобальным. Для них спецификатор Application разрешается опускать, непосредственно именуя глобальный элемент. Вот пример нескольких обращений к элементам объекта Application:

Application.ActiveDocument ' Можно короче: ActiveDocument

Application.ActiveWorkbook.ActiveSheet.Range("A1") = "Hi"' Можно так:

ActiveSheet.Range ("A2") = "By-By" ' Можно и так:

Range("A3") = "I'm glad to see you" 'Можно даже так!

Application.Quit 'Только так! Quit не является глобальным методом.

Есть объекты, общие для всех приложений. К ним относятся коллекции, CommandBars, Dialogs, Windows объекты ^ Assistant, FileSearch, VBE. Эти объекты хранятся в библиотеке Office, присоединяемой к каркасу каждого документа. Они определяют такие общие для всех документов свойства, как возможность работы с инструментальными панелями, содержащих меню, элементы управления и кнопки; использование стандартных диалогов в документах и другие свойства, задающие, в целом, единый интерфейс документов в среде Office 2000.

Что же нового появилось в Office 2000? Прежде всего, следует отметить, что все свойства, которыми объекты обладали, у них остались. Но, конечно, появились и новые свойства. Ниже в таблице показаны основные, новые свойства, встроенные в объекты Application в Office 2000.




Таблица 1.1. Новые свойства объектов Application в Office 2000







Свойства

Word

Excel

^ Power Point

Access







AnswerWizard

+

+

+

+







COMAddIns

+

+

+

+







LanguageSettings

+

+

+

+







EmailOptions

+

-

-

-







DefaultWebOptions

-

+

+

-







MsoDebugOptions

-

-

+

-



























































AnswerWizard

Объект

Соответствует Мастеру ответов приложения MS Office. Все приложения семейства MS Office имеют только один Мастер ответов, поэтому все изменения над этим объектом немедленно отразятся на активном приложении.

Assistant

Объект и семейство

Ссылается на объект, представляющий активного в данный момент помощника MS Office.

COMAddlns

Семейство

Содержит объекты COM Addln– надстройки СОМ, зарегистрированные в реестре Windows.

FileDialog

Объект

Реализует диалоговое окно, аналогичное окнам Открыть (Open) и Сохранить (Save) MS Office

HTMLProject

Объект

Представляет собой корень дерева проекта Web-страницы, отображаемого в окне Project Explorer редактора сценариев MS Script Editor. Этот объект содержит семейство HTMLProjectItems объектов HTMLProjectItem, ссылающихся на элементы иерархической структуры проекта. С помощью этого объекта можно управлять проектом Web-страницы, например, открыть его в редакторе сценариев.

Scripts

Семейство

Объекты Script – сценарии, определенные в документе Word, электронной таблице Excel или слайде PowerPoint
Появилась возможность подключения COM - объектов, расширяющих функциональные возможности документов; коллекция COMAddIns стала частью библиотеки общих объектов Office 2000. Напомним, что ранее каждое из приложений имело свою специфическую для данного приложения коллекцию AddIns. Каждый из элементов AddIn дополнял приложение новыми функциями, но мог работать только в рамках одного приложения. Этим коллекциям и компонентному программированию будет посвящена отдельная лекция этой книги.

Новые свойства отражают основные направления развития Office 2000 - создание и работа над документами в Интернете, работа в многоязычной среде, повышение интеллектуальности, использование компонент.
^

Вторая группа терминальных свойств


Объекты Application помимо свойств, заданных вложенными объектами, обладают "терминальными" свойствами. Их задают переменные языка программирования, типы которых непосредственно встроены в язык, - string, integer и т.д. Терминальные свойства также могут быть как специфическими, так и общими для всех приложений, определяя, например, свойства окна, в котором работает приложение. Терминальные свойства просты для понимания, мы не будем на них подробно останавливаться, ограничимся одним примером использования общих свойств. Приведем два макроса, один из которых изменяет размеры окна, предварительно запомнив текущие размеры и состояние окна. Второй из макросов восстанавливает прежние размеры.

'Объявление переменных на уровне модуля

Dim LeftW As Long, TopW As Long, HeightW As Long, WidthW As Long

Dim StateW As WdWindowState
Sub ChangeSizeWindow()

With Application

'Запоминаем характеристики окна

StateW = .WindowState

LeftW = .Left

TopW = .Top

HeightW = .Height

WidthW = .Width

' Изменяем характеристики окна

.WindowState = wdWindowStateNormal

.Left = 100

.Top = 100

.Height = 400

.Width = 400

End With

End Sub
Public Sub ResetSizeWindow()

With Application

' Восстанавливаем характеристики окна

.Left = LeftW

.Top = TopW

.Height = HeightW

.Width = WidthW

.WindowState = StateW

End With

End Sub

Эту пару макросов можно применять к трем приложениям Office 2000, поскольку в каждом из них объект Application обладает терминальными свойствами Left, Top, Height, Width, WindowState. Единственное, что придется поменять, - тип переменной StateW и задающую статус окна константу wdWindowStateNormal, так как у каждого из приложений свои имена констант и свои типы для них, хотя они и задают одинаковые значения. Заметьте: по имени константы можно определить ее тип и назначение. Так, константы Word начинаются префиксом "wd", а константы Excel - "xl".

Следует отметить, что, Access продолжая выделяться, этих терминальных свойств еще не приобрел.
^

Методы объектов Application


Казалось бы, объекты Application не должны иметь много методов, а среди имеющихся методов большая часть должна быть общей для приложений разных типов. Ведь специфика приложения должна проявляться на более низком уровне иерархии, когда начинается работа, например, с документами Word или рабочими книгами Excel. Но это не так, - реально методов много, а общих методов мало. Более того, даже методы Activate, Run, Quit, имеющиеся у всех приложений, совпадающие по именам и предназначенные для решения стандартных задач (активизация приложения, запуск макроса, выход из приложения) организованы по-разному. Так, метод Quit() в Excel не имеет параметров - он, естественно, завершает приложение. А вот в приложении Word у этого метода 3 параметра: Quit([SaveChanges], [OriginalFormat], [RouteDocument]), - позволяющие в момент выхода указать, сохранять ли сделанные изменения и их формат, пересылать ли документ всем, кто работает с ним.

Лишь приложение Power Point "правильно" устроено с нашей точки зрения, - его объект Application имеет всего четыре метода; помимо трех методов, только что перечисленных, у него еще есть метод Help. Это тоже один из общих методов, которого нет только у приложения Access.

Из общих в Office 2000 методов для Word, Access и Excel отметим группу DDE-методов, обеспечивающих динамический обмен данных. Word и Excel имеют общий метод OnTime, о котором стоит рассказать подробно. Он позволяет запустить некоторый макрос в заданное время. Каждое утро, например, можно запускать макрос, позволяющий провести антивирусную профилактику, сохранить резервные копии и т. п. Синтаксис метода в приложении Word таков:

OnTime (When, Name, Tolerance)

Первый обязательный параметр When задает время запуска - некоторое выражение, значением которого является строка, задающая время. При задании этого параметра часто используются функция Now, которая возвращает текущее время, и функции TimeValue и TimeSerial, преобразующие время, заданное в относительно произвольной форме к фиксированному стандарту.

Параметр Name - также обязательный - задает имя запускаемого макроса. Макрос должен быть доступен как в момент выполнения процедуры OnTime, так и когда наступает время его выполнения, указанное в параметре When. Поэтому разумно такие макросы помещать, например, в проект Normal, доступный для всех приложений Word.

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

В приложении Excel у этого метода появился дополнительный, четвертый параметр, но суть метода сохранилась. Первые два параметра сохранили свой смысл, а третий слегка изменился, - он задает теперь последний срок запуска макроса. Изменились и ключевые имена параметров, тем не менее, приведенный ниже пример будет правильно работать, как в Excel, так и в Word:

Sub InTime()

'Запуск одного из двух макросов "Приветствие"

'Один запускается по утрам в 10.00, другой - через 1 минуту,

'начиная отсчет от момента выполнения метода OnTime

If Now < "10:00:00" Then

Application.OnTime TimeValue("10:00 am"), "Morning"

Else

Application.OnTime Now + TimeValue("00:01:00"), "Hello"

End If

End Sub

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

Для полноты картины приведем тексты макросов-приветствий:

Sub Morning()

' Утреннее приветствие

MsgBox Prompt:="Привет! Я рад, работать с Вами!", Buttons:=vbOKOnly

End Sub
Sub Hello()

'Приветствие

MsgBox Prompt:="Привет! Будем работать!", Buttons:=vbOKOnly

End Sub

Итак, подводя итоги, отметим, что только объект Power Point.Application имеет всего четыре метода. Остальные объекты Application имеют десятки методов, большей частью отражающих специфику приложения. Например, в Office 2000 объект Access.Application имеет:

  • Группу из 9 методов Create, позволяющих программно создать проект, элемент управления, форму, отчет и другие элементы приложения.

  • Группу D - функций, общих с Excel, позволяющих работать с запросами над списками Excel.

  • Группу Get и Set - методов, позволяющих, например, получить или установить те или иные опции.

  • Методы Open, Close, New, позволяющие открывать, закрывать или делать текущей новую базу данных.

  • Другие методы.

Следует понимать причину "изобилия" методов у объектов Application. Дело в том, что большинство методов, это, фактически, методы объектов нижних уровней, вынесенные на верхний уровень иерархии.

Один и тот же метод X может быть определен как для объекта Application, так и для объектов разных классов, вложенных на разных уровнях иерархии. Иногда это позволяет выполнять массовые операции над всеми объектами, входящими в иерархию. Так, метод Calculate в Excel применим к объектам Application, WorkBook и Worksheet. Вызов Application.Calculate приведет к запуску вычисления формул всех рабочих листов всех рабочих книг.

Но будьте осторожны: методы - "тезки" могут отличаться параметрами и реализацией. Например, методы проверки правописания и грамматики CheckSpelling и CheckGrammar определены для трех объектов Word: Application, Document и Range. Вызванные объектами Document и Range, они проверяют текст в диапазоне, связанном с объектом, вызвавшим метод. А у одноименных методов объекта Application появляется дополнительный параметр, задающий проверяемую строку.

Еще один пример - метод Move, которым обладают объекты:

  • Application, Task, Range, Selection - в приложении Word;

  • Chart, Charts, Worksheet, Worksheets, Sheets в приложении Excel;

  • общие объекты Assistant, CommandBarControl из библиотеки объектов Office;

  • Control, Controls из библиотеки объектов MSForms.

За общим именем скрываются похожие, но разные по количеству параметров и по действию методы. В ООП одноименные методы одного или разных классов, различные по количеству и типам параметров и (или) реализации, называются перегруженными. В Office 2000 широко применяется перегрузка методов. С этим часто приходится сталкиваться при получении справок в электронной документации, например, по уже упомянутому методу Move, когда приводятся несколько его перегруженных вариантов. В этом случае дается список классов, обладающих данным методом. Выбрав класс, можно получить справку по конкретной реализации метода в данном классе.

Осталось еще рассказать, какие новые методы появились у Application -объектов приложений Word, Access и Excel в Office 2000 в сравнении с предыдущей версией Office 97. Общих новых методов нет.

В приложении Word у объекта Application появилось 8 новых методов. Два из них расширяют набор метрических преобразований, четыре определены над клавиатурой и связаны с расширенной поддержкой национальных языков в Office 2000. Еще один метод следует упомянуть подробнее, - речь идет о функции DefaultWebOptons, возвращающей объект подобного класса. Если взглянуть на ранее приведенную таблицу новых свойств, то можно заметить, что приложения Power Point и Excel имеют новое свойство, возвращающее объект этого класса. Приложение Word вместо этого имеет метод, возвращающий тот же объект. Один Access пока что не имеет ни подобного свойства, ни метода.

В приложении Excel, как ни странно, нет новых методов, Более того, исчезли два старых метода: CentimetersToPoints, InchesTpPoints, занимающихся метрическими преобразованиями. Вместо того, чтобы добавлять новые методы этой группы, как это сделано в Word, решили убрать эту группу методов из ведения объекта Application.

Больше всего новых методов появилось у объекта Access.Application, - их 18. Прежде всего, пополнилась группа Create - методов. Теперь можно создавать не только формы и отчеты, но и проекты (CreateAccessProject), страницы доступа (CreateDataAccessPage), элементы управления с расширенным набором свойств, размещаемые, возможно, в отчете(CreateControlEx, CreateReportControlEx). С проектами работают еще два метода, - OpenAccessProject, NewAccessProject. Несколько методов добавлено для работы с текстами. Детали оставим на будущее.

Public Sub WorkWithSelection()

Dim myr As Range

Dim i As Byte

'Добавляем новый документ

Documents.Add

With ActiveDocument

'Добавляем 7 абзацев в текст созданного документа

For i = 1 To 7

.Paragraphs.Last.Range.Text = "Абзац " & i

.Paragraphs.Add

Next i

'Используется свойство Range

Set myr = .Paragraphs(1).Range

'Выделен первый абзац. Создаем объект Selection

myr.Select

'Действия с объектом Selection

'Стягивание в начало абзаца - точку вставки

Selection.MoveLeft

'Расширение на один абзац вправо, снова выделяя первый абзац

Selection.MoveDown Unit:=wdParagraph, Count:=1, Extend:=wdExtend

'Передвинемся к началу третьего абзаца

Selection.Move Unit:=wdParagraph, Count:=2

'Три абзаца с третьего по пятый выделяются курсивом

Selection.MoveDown Unit:=wdParagraph, Count:=3, Extend:=wdExtend

Selection.Font.Italic = True

End With

End Sub

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

На вершине объектной модели находятся объект Application — в данном случае. Excel . Но если вы программируете в VBA , запуская VBE в Microsoft Word , то объектом Application будет выступать Word .
^

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


Объект 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 — сводных таблиц).


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

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

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