Информационное взаимодействие в среде Windows
Связывание и внедрение объектов (OLE).OLE является сокращением термина Object Linking and Embedding — связывание и внедрение объектов. Это имеющаяся в Windows технология, которая облегчает пользователю работу с данными одновременно в различных прикладных программах.
Предположим что, в рамках Microsoft Word выполнен квартальный отчет, в котором содержится диаграмма Excel и список служащих, созданный в СУБД Access. Данные Excel в диаграмме и список служащих изменяются ежеквартально. Когда наступает время составления очередного квартального отчета, можно найти самую последнюю версию диаграмм Excel и списка служащих, скопировать их и вставить в отчет. А можно, используя возможности технологии OLE, сразу связать объекты, чтобы отчет автоматически изменялся при внесении исправлений и изменений в документы, входящие в него.
Чтобы понять, как работать с OLE, следует знать, что означают перечисленные ниже термины:
Объект — файл или часть файла, связанные с другим документом или внедренные в него. Объект может иметь любой размер — от маленького фрагмента текста до целой электронной таблицы, занимающей много страниц. Примеры объектов: набор ячеек Excel с числовыми данными, фирменный знак предприятия, разработанный в графическом приложении, звуковой клип, созданный с помощью Microsoft Sound Recorder.
Файл-контейнер (также называется Составным документом, или Документом-получателем} — документ, содержащий связанный или внедренный объект, например документ Word, в котором имеется круговая диаграмма из Excel (объект).
Исходный файл — файл, включающий в себя исходный объект или приложение, в котором этот объект был создан. Так, если в презентацию PowerPoint помещается диаграмма Excel, то рабочий лист Excel., в который входит нужная диаграмма, является исходным файлом.
Программа-клиент — прикладная программа, собирающая файл-контейнер. Программа-клиент получает объекты, созданные в других приложениях, и помещает их в файл-контейнер. Скажем, если в Microsoft Word составляется квартальный отчет, в котором имеются связанные объекты из Access и Excel, то Word — это программа-клиент.
Программа-сервер — прикладная программа Windows, в которой был создан объект, связанный с файлом-контейнером. Так, если подготовлена презентация в PowerPoint, в которой содержится объект, созданный в Excel, то Excel — это программа-сервер, a PowerPoint — программа-клиент.
Чтобы понять необходимость связывания (L в OLE от слова Linking — связывание), рассмотрим несколько примеров.
Когда связанный объект помещен в файл-контейнер, любые внесенные в объект изменения в его «родном» приложении (в программе-сервере) автоматически отображаются в копии объекта в файле-контейнере. Например, возьмем упомянутый выше квартальный отчет. В первом квартале, когда отчет создавался в Word впервые, в него в качестве связанных объектов были помещены данные из электронной таблицы Excel и данные из базы Access. В течение квартала исходные файлы в Excel и Access подвергались редактированию. Когда наступает время составлять отчет за второй квартал, можно просто открыть отчет в Word. Связанные объекты все еще там, а измененные данные из Excel и Access в нем появятся автоматически.
Один из способов создания таких связей, какие только что были описаны, состоит в использовании команды «Специальная вставка» (Paste Special) из меню «Правка» (Edit). Она немного отличается от обычной команды «Вставить» (Paste), находящейся в том же меню.
Если объект вставлен в документ с помощью обычной команды «Вставить», то туда просто помещен сам объект, но нет никакой информации о его источнике. В противоположность этому, если объект вставлен в документ с помощью команды «Специальная вставка», то информация о нем хранится вместе с ним как часть файла-контейнера. Эта информация включает в себя имя исходного файла и его местоположение, программу-сервер и расположение объекта в исходном файле. Благодаря такой специальной информации становится возможным изменять объект всякий раз при изменении исходного файла.
Внедрение (Е в OLE означает Embedding — внедрение) предполагает иную схему информационной связи.
Если объект внедряется, то его копия вставляется в документ, так же как это делается с помощью обычной команды «Вставить». Связь с исходным файлом не сохраняется. Тем не менее, используя внедрение, можно сделать некоторые вещи, которые не получаются при обычной вставке. У объекта, внедренного в документ, остается связь с программой-клиентом. Поэтому имеется возможность в любой момент исправить объект дважды щелкнув на нем клавишей манипулятора «мышь» и открыв программу-сервер.
Хорошим примером внедренного объекта является фирменный знак предприятия, выполненный в Microsoft WordArt, который внедрен как часть служебного письма, созданного в Word. Обычно фирменный знак меняется не очень часто, и так же нечасто он служит в качестве части какого-нибудь другого постоянно изменяемого графического файла. Поэтому в данном случае нет необходимости в связывании.
Команду «Специальная вставка» можно использовать и для связывания, и для внедрения. В диалоговом окне «Специальная вставка» (Paste Special) есть возможность выбрать либо связывание, либо внедрение. А с помощью команды «Вставка объекта» (Insert Object) связывается или внедряется имеющийся файл, или «с нуля» разрабатывается новый внедренный файл.
«Специальная вставка» и «Вставка объекта».В среде Windows существует простой способ «вырезать-и-вставить», с помощью которого вырезаются и копируются данные из любой Windows-программы и вставляются в другую программу. Для этого достаточно сначала воспользоваться командой «Вырезать» (Cut) или «Копировать» (Сору) в меню «Правка» (Edit), а затем — командой «Вставить» (Paste) в том же меню.
Связывание и внедрение осуществляется также посредством команды «Вырезать», но вместо команды «Вставить» нужно выбрать команду «Специальная вставка». При этом откроется диалоговое окно «Специальная вставка», которое предназначено для реализации внедрения или связывания. В нем задаются следующие параметры:
Источник (Source) — название и местоположение объекта, находящегося в данный момент в буфере обмена Windows. Служит только для сообщения информации. Его нельзя исправить.
Вставить (Paste). При выборе этой опции содержимое буфера обмена Windows вставляется в то место документа, где расположен курсор. Связь не поддерживается, но можно дважды щелкнуть клавишей манипулятора «мышь» на введенных данных, чтобы их отредактировать (это внедрение).
Связать (Paste Link). Опция может использоваться для того, чтобы содержимое буфера обмена было связано с файлом-контейнером. Если ее выделить, то создается связь между исходным файлом и файлом-контейнером.
Как (As). В этой части диалогового окна перечислены форматы, возможные для использования при вставке объекта из буфера обмена. Такие форматы изменяются в зависимости от типа объекта:
1. ...Объект (Object). Формат, который оканчивается словом «Объект», допускает применение технологии OLE. Его можно связывать и внедрять.
2. Текст в формате RTF (Formatted Text (RTF)). При выборе этого типа данных текст форматируется так же, как он отформатирован в исходном файле. Например, если указано полужирное начертание текста, то и вставлен он будет в этом начертании. Данный формат не поддерживает внедрение.
3. Неформатированный текст (Unformatted Text). При выделении этого типа данных к объекту не применяется никакое форматирование.
4. Рисунок (Picture). Такой выбор задает форматирование объекта как рисунка метафайла Windows, причем внедрение не поддерживается.
5. Точечный рисунок BMP (Bitmap). Выделение этого типа данных указывает, что объект форматируется как точечный рисунок, как изображение в программе Windows Paintbrush.
6. В виде значка (Display As Icon). Если выделен этот параметр, то вставленный объект отображается в виде значка объекта, а не в виде данных объекта. Данный параметр доступен только в том случае, когда выделен параметр «Связать». Он удобен при вставке звуков и медиаклипов.
Результат (Result). В секции «Результат» дается описание результата применения выделенных в диалоговом окне параметров.
Решая, какие параметры установить в диалоговом окне «Специальная вставка», необходимо обратить внимание на информацию, появляющуюся в секции «Результат». Эта информация дает возможность выяснить, что произойдет, если будет нажата кнопка «ОК» после установки данного набора параметров.
Тип связывания, внедрения и вставки зависит от двух факторов:
от того, какой выбран параметр («Вставить» или «Связать»);
от того, какой тип данных выделен в списке «Как».