Связывание и внедрение объекта
Эта глава познакомит вас со следующими вопросами:
- вставка в документ файлов из других приложений;
- обмен данными между документами, созданными в одном или разных приложениях Office;
- вставка объекта из одного приложения в другое и редактирование объекта;
- добавление элементов ActiveX в документ Word, лист Excel или слайд PowerPoint;
- поддержка распознавания речи и голосовое управление компьютером. Напомним, что связь Microsoft Outlook с другими приложениями Office 2003 рассмотрена в главе 21.
В последние годы все большее распространение получают документы, содержащие объекты, созданные в различных программах: текст, рисунки, звуковые комментарии, музыкальные и видеофрагменты. Для совместного использования данных, созданных в различных приложениях и поэтому имеющих различный формат, в Microsoft Office используется технология связывания и внедрения объектов (Object Linking and Embedding, OLE). OLE 2.0 является частью моделей COM (Common Object Model – единая объектная модель) и DCOM (Distributed COM). Последняя позволяет программам, распределенным по различным узлам сети, обмениваться данными на основе OLE. Эта модель основана на механизме удаленного вызова процедур (Remote Procedure Call).
По терминологии OLE объектом может считаться весь документ, отдельный его фрагмент или символ. Связанным объект называется объект (данные), созданный в одном файле и вставленный в другой файл с поддержкой связи между файлами. Файл, в котором находится исходный объект, и приложение, в котором он создан, являются соответственно файлом – источником (исходным файлом) и приложением-источником. Файл, содержащий вставленный объект, называется составным документом (конечным файлом). В составном документе хранится информация о программе, в которой был создан объект. Чтобы не нарушить связь документ-источник нельзя перемещать, удалять или изменять имя файла.
Внедренные объекты используются в случае, если обновление скопированных данных при изменении их в исходном файле не требуется. Внедренный объект становится частью файла. Информация о том, откуда были взяты данные, не сохранится, связь между документами установлена не будет. Размер документа при этом увеличится. Подобные документы можно переносить на другие компьютеры, не заботясь о файлах, из которых были взяты данные. Использование связанных объектов позволяет обновлять данные в конечном файле при их изменении в исходном файле.
При обновлении данных в конечном файле данные в исходном файле не изменяются. Изменение данных в связанном файле после их изменения в источнике происходит в результате динамического обмена данными (DDE, dynamic data exchange).
При установлении связи между объектами данные физически продолжают находиться в программе, где они создавались (в документе-сервере). Связанный объект не является частью файла, в который он вставлен.
Связь, обеспечивающая обновление информации в документе-клиенте, называется односторонней (one-way link). Один и тот же объект может быть источником для нескольких документов. Изменения, внесенные в объект, будут автоматически переноситься во все Связанные с ним документы.
Если объект в документе-клиенте связан с промежуточным документом, в котором данные объекта обрабатываются, то имеет место двусторонняя связь (two-way link). Например, мы можем работать с объектом (текстом, который содержит числовые данные), используя одну программу, и связать его с промежуточным документом – другой программой, обеспечивающей построение графиков по этим данным. Построенные графики методом связывания могут быть представлены в исходном документе-клиенте. Изменения в числовых данных приведут к изменению графиков в том же документе. Недостаток операции связывания проявляется при переносе файла документа-клиента на другой компьютер: нарушается его связь с документами-серверами.
Обмен данными между документом Word и таблицей Excel
В качестве примера использования связанных данных рассмотрим обмен информацией между таблицей Excel и текстовым документом, созданный в приложении Word. Чтобы связать таблицу, диаграмму или другой фрагмент документа Excel с документом Word, выполните следующие действия:
- выделите таблицу в Excel;
- выберите команду Копировать (Copy) в меню Правка (Edit) или нажмите одноименную кнопку на панели инструментов Стандартная. С клавиатуры команду можно выбрать, нажав клавиши CTRL + C или CTRL + Insert;
- откройте документ Word, установите курсор на месте вставки и выберите в меню Правка (Edit) команду Специальная вставка (Paste Special);
- в диалоговом окне Специальная вставка (Paste Special) поставьте переключатель в положение Связать (Paste Link) (рис. 28.1);
- в списке Как (As) выберите формат данных, в данном случае Формат HTML. Число форматов данных, отображаемых в списке, их типы зависят от приложения источника. В рамке Результат приводится описание результатов вставки;
- после установки флажка В виде значка (Display as Icon) содержимое буфера обмена будет отображаться в виде значка. Флажок целесообразно использовать в том случае, если не требуется, чтобы в файле отображались сами данные;
- нажмите кнопку ОК.
Для проверки, что данные связаны, внесите изменения в таблицу Excel и посмотрите, как они изменятся в документе Word.
Рис. 28.1. Диалоговое окно, используемое для связывания или внедрения объекта