Интеграция приложений в MS Office на основе объектно-ориентированной OLE-технологии

Тип работы:
Методичка
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Интеграция приложений в MS Office на основе объектно-ориентированной OLE-технологии

1. Основные понятия о технологии интеграции приложений Word и Excel в MS Office

1. 1 Обмен данными между приложениями Word и Excel в MS Office как основа их интеграции

Интеграция приложений заключается в обмене данными между ними. Проблема обмена данными заключается, прежде всего, в многообразии видов данных, создаваемых различными приложениями. Так, данные, создаваемые в Word, имеют вид отформатированных по определенным правилам текстовых документов с элементами графики, формулами и таблицами. В свою очередь, текстовые документов могут иметь различный формат файлов, например, таких, как MS-Word, WordPerfect, Rich Text Format (RTF), Standard Generalized Markup Language (SGML). Каждый из вышеперечисленных форматов файлов текстовых документов предусматривает, во-первых, передачу содержательной (смысловой) информации, содержащейся в текстовом документе, в виде определенной последовательности символов. Во-вторых, формат файлов предусматривает передачу служебной информации, например, о структуре текстового документа (параметры страниц, абзацев, строк, шрифтов и т. д.).

Обычно в файлах, с которыми работают редакторы текстов, содержатся обрабатываемые этими программами тексты в кодах ASCII, некоторая дополнительная информация о форматировании текстов и различные управляющие символы. В каждой такой программе используется собственный формат данных, однако для коммерческих программных продуктов лишь немногие фирмы публикуют данные о структуре этих форматов данных.

Например, в программах обработки текстов Word фирмы Microsoft версий 3. 0, 4.0 и 5.0 [1] используется смешанный ASCII / двоичный формат представления текстовых данных. Каждый файл состоит из трех частей: заголовок, текст, заключение. Файл содержит записи, объединенные в блоки длиной по 128 байтов. Это замечание важно, т. к. некоторые управляющие структуры формата содержат номер блока в файле. Смещение первого блока от начала файла можно вычислить по следующей формуле:

Смещение = Номер блока * 128

Если блок заполнен не полностью, то в его последних файлах содержится неиспользуемая информация. В первом блоке файла, созданного MS Word, хранится заголовок длиной 128 байтов, который содержит управляющую информацию. В нескольких следующих блоках располагается собственно текст документа, который, за некоторыми исключениями, не включает управляющих символов. Блоки, содержащие текст, могут отсутствовать. В последних блоках файла размещается информация о параметрах форматирования текста.

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

Еще более сложную структуру имеют табличные и графические форматы, которые, естественно, обрабатываются собственными программами. В настоящее время имеется большое количество табличных (*. xls, *. wks, *. wk1, *. wr1 и др.) и графических форматов данных (*. gif, *. tiff, *. img, *. dxf (AutoCad), *. bmp и др.) [1].

Многообразие видов информации и форматов представления данных составляет одну из составляющих проблемы обмена данными. Вторая составляющая этой проблемы заключается в необходимости обеспечения связей между данными в различных приложениях, в том числе для поддержания идентичности данных во всех приложениях при их изменении в одном из приложений (т.е. обеспечения ассоциативности данных). В процессе развития офисного пакета MS Office созданы различные способы обмена данными между приложениями этого пакета, в той или иной степени решающие перечисленные выше проблемы. Основные из этих способов изложены в разделе 1. 2

1.2 Основные способы обмена данными между приложениями в MS Office

1.2.1 Статический обмен данными

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

Когда данные статически копируются или перемещаются из одного приложения в другое, возможность их редактирования в документе-получателе может в зависимости от ситуации сохраняться или утрачиваться. Если данные преобразуются к формату, «понятному» для программы-получателя, их можно будет редактировать. Так произойдет, например, если скопировать текст с листа MS Excel в документ Word, поскольку текстовый редактор Word воспринимает этот текст так, словно вы вручную ввели его с клавиатуры. Вы можете изменять этот текст, но этот измененный текст уже не будет иметь никакого отношения к документу-источнику приложения, из которого вы его извлекли.

Однако, если данные невозможно преобразовать в «родной» для программы-получателя формат, то их можно будет только просматривать и распечатывать, но не редактировать. Так бывает, к примеру, при копировании растровой графики из Windows Paint в документ Word.

1.2. 2 Динамический обмен данными

Динамический обмен данными (DDE, Dynamic Data Exchange) — технология, позволяющая приложениям Windows обмениваться друг с другом данными и командами. Суть динамического обмена данными состоит в следующем. Сначала первое приложение должно установит связь со вторым, после чего может посылать второму приложению команды для исполнения, данные для использования, а также запрашивать и получать результаты. В конце сеанс связи приложений по DDE должен быть завершен. DDE обладает тем достоинством, что его поддерживают практически все приложения Windows, начиная с самых первых версий этой операционной системы. В настоящее время DDE постепенно вытесняется более современными средствами, такими как связывание и внедрение объектов (OLE). Одна из причин состоит в том, что DDE не обеспечивает достаточных средств для обработки ряда ситуаций, связанных с обменом данных.

1.2. 3 OLE-технология внедрения и связывания объектов

Связывание и внедрение объектов (OLE, Object Linking and Embedding) — наиболее эффективный в настоящее время способ обмена данными между приложениями MS Office.

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

При внедрении объекта в документ-приемник копия внедряемого объекта из документа-источника, как при статическом копировании. Различие заключается в том, что при внедрении сохраняется связь внедренного объекта с приложением-источником (но не с документом-источником!!!). Связь внедренного объекта с приложением-источником позволяет их отредактировать средствами приложения-источника, что невозможно выполнить при статическом копировании данных. Допустим, к примеру, что вы скопировали фрагмент электронной таблицы в Excel и внедрили этот фрагмент как объект в документ текстового редактора Word. Когда вам понадобится отредактировать данные в таблице докумена текстового редактора Word, на экране появится приложение для электронных таблиц Excel и вы сможете внести изменения, пользуясь при этом набором команд электронной таблицы, а не текстового редактора Word.

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

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

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

1. 3 Сравнительный анализ основных способов обмена данными между приложениями в MS Office

Итак, вы решили воспользоваться OLE-технологией передачи данных между приложениями, т. е. внедрить или установить связь с объектом другого приложения. Теперь надо сделать правильный выбор — что лучше: внедрить, связать или сделать и то и другое? Существует много различных соображений, которые следует принимать во внимание при выборе того или иного решения. Вот некоторые из вопросов, на которые следует дать ответ для принятия правильного решения.

Каков объем дисковой памяти, занимаемой вставляемым объектом? Является ли он настолько большим, что хранить его дополнительные копии затруднительно? Если это так, то нужно выбрать связывание объектов. Связь с объектом устанавливает путь к исходному объекту и приложению — источнику, с помощью которого был создан этот объект. При этом сам связанный объект может не сохраняться в контейнере. Тогда при открытии основного документа-контейнера связанный объект, хранящийся в отдельном файле, вставляется в нужное место. Если же вы внедряете объект, он обязательно станет частью основного документа, и его копия будет храниться в этом документе: тем самым появляется новый экземпляр этого объекта — его копия в контейнере.

Изменяется ли объект в процессе использования созданного документа-приемника, или его состояние окончательно определено и модификации не подлежит? А если объект можно редактировать, то хотите ли вы, чтобы такие изменения автоматически отражались в документе-приемнике или же, напротив, желаете сохранить в документе — приемнике текущее состояние объекта? Если вы хотите, чтобы изменяющееся состояние объекта отражалось в документе-приемнике, то вам необходимо использовать связывание, и при этом лучше отказаться от хранения копии связываемого объекта в документе-приемнике. Если документ-приемник содержит связь с внешним объектом, не сохраненным в документе-приемнике, то при его открытии автоматически устанавливается связь с обновленным объектом. Если же копия связанного объекта сохранена в документе-приемнике, то при его открытии обычно выдается сообщение с вопросом, нужно ли обновить установленную связь. Вы можете отключить появление этого сообщения, но в таком случае состояние объекта-источника может измениться, а вы об этом не узнаете. Тогда, если вы внедрили объект, предполагая, что он не будет изменен, однако впоследствии потребовалось внести исправления, вы можете отредактировать внедренный объект при условии, что имеете доступ либо к его измененной копии, либо к приложению-источнику, с помощью которого этот объект был создан.

Может ли вставляемый объект — источник удален, перемещен или доступ к нему может быть потерян по какой-либо другой причине? Например, вы установили связь с объектом- источником, получив к нему доступ по локальной компьютерной сети. Если впоследствии сетевой диск окажется недоступным или владелец исходного объекта-источника изменит его местоположение, закроет к нему доступ или вообще удалит этот файл, то вы можете оказаться в неприятной ситуации. В этой ситуации лучше внедрить такой объект.

С помощью какого приложения был создан вставляемый объект? Поддерживает ли исходное приложение связь и внедрение объекта? Если это так, то вы можете выбирать между внедрением и установлением связи. Поддерживает ли исходное приложение динамический обмен данными (DDE)? Если исходное приложение поддерживает DDE, но не поддерживает OLE, вы можете установить связь, но не можете внедрять такие объекты. Если исходное приложение не поддерживает ни OLE, ни DDE, вам, возможно, все же удастся вставить эти объекты как текстовый или графический файл (например, как файл формата BMP). Однако при этом не будет установлено прямой связи с исходным приложением, и вы не сможете выполнять его редактирование, как это разрешено делать с нормальным внедренным объектом.

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

2. Простое (статическое) копирование

При статическом копировании добавленные данные становятся неотъемлемой частью документа-получателя и не сохраняют никакой связи с программой, из которой они были получены. При этом используется буфер обмена Windows как временной хранилище копируемых данных. Если данные преобразуются в формат, понятный для программы-получателя, их можно будет редактировать (так произойдет, например, при копировании таблицы из Excel в Word). Если такое преобразование невозможно, то их можно будет просматривать как «картинку» и распечатывать, но не редактировать.

Для выполнения статического копирования проделайте следующие действия:

Откройте документ, куда необходимо вставить новый объект (документ Word «Бланк лабораторной работы».

Откройте таблицу Excel, откуда будете копировать данные (книга Excel «Протокол лабораторной работы».

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

Скопируйте их в буфер обмена, используя меню Правка Копировать.

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

Если вы хотите сами задать тип данных, в который будут преобразованы копируемые данные, выбирайте меню ПравкаСпециальная вставка, затем в диалоговом окне выбирайте пункт Вставить и требуемый тип данных в окошке «Как».

Выполняя эти же действия, вставьте в документ диаграмму Excel

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

Для выполнения внедрения проделайте следующие действия:

1. Откройте документ, куда необходимо вставить новый объект (документ Word «Бланк лабораторной работы».

2. Откройте таблицу Excel, откуда будете копировать данные (книга Excel «Протокол лабораторной работы».

3. Выделите данные, предназначенные для копирования — в данном случае таблицу.

4. Скопируйте их в буфер обмена, используя меню Правка Копировать.

5. Поместите курсор в то место документа-получателя, куда хотите вставить объект и выполните команду меню ПравкаСпециальная вставка. На экране появится диалоговое окно «Специальная вставка», выберите пункт «Вставить» и первое описание необходимого типа данных со словом объект в окошке «Как».

6. После выполнения связывания можно просмотреть текущие параметры связей в документе через меню ПравкаСвязи

7. Подобным же образом добавьте в бланк лабораторной работы диаграмму из книги Excel.

8. Примером внедренных объектов являются:

формулы, для работы с которыми используется программа Microsoft Equation;

встроенные электронные таблицы и диаграммы, для работы с которыми используется программа Microsoft Graph;

фигурный текст, которые создается и редактируется с помощью программы WordArt.

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

Для выполнения связывания проделайте следующие действия:

1. Откройте документ, куда необходимо вставить новый объект (документ Word «Бланк лабораторной работы».

1. Откройте таблицу Excel, откуда будете копировать данные (книга Excel «Протокол лабораторной работы».

2. Выделите данные, предназначенные для копирования — в данном случае таблицу.

3. Скопируйте их в буфер обмена, используя меню Правка Копировать.

4. Поместите курсор в то место документа-получателя, куда хотите вставить объект и выполните команду меню ПравкаСпециальная вставка. На экране появится диалоговое окно «Специальная вставка», выберите пункт Связать и необходимый тип данных в окошке «Как».

приложение word excel интеграция

6. После выполнения связывания можно просмотреть текущие параметры связей в документе через меню ПравкаСвязи.

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

Литература

Гюнтер Борн. Форматы данных: Пер. с нем. — К.: Торгово-издательское бюро BHV, 1995−472c.

Федор Новиков, Андрей Яценко. Microsoft Office XP в целом // СПб, Питер, 2004 г., 986 с.

Четвериков В.Н. и др. Базы и базы данных: учебник для ВУЗов / В. Н. Четвериков, Г. И. Ревунков, Э. Н. Самохвалов; Под. ред. В. Н. Четверикова. — М.: Высш. шк., 1987. — 248 с.

ПоказатьСвернуть
Заполнить форму текущей работой