7. Интеграция документов

При составлении документов часто встает задача объединения документов, подготовленных в различных приложениях. Так, отчет, подготовленный в редакторе Write или текстовом процессоре Word for Windows, может содержать графики, подготовленные в приложении Paintbrush, чертежи, созданные в приложении Corel Draw и фотографии, снятые сканером и обработанные в графическом редакторе FotoFinish. Если вы издаете электронный бюллетень или электронную рекламу, вы можете подключить к основному текстовому документу записанную речь или музыку.

Как подготовить такой документ? В Windows 3.1 предусмотрен специальный механизм, позволяющий объединить в одном документе объекты, являющиеся результатом работы различных приложений. Вы можете создать документ, включающий в себя не только текст, графические изображения, таблицы, но также звуковое сопровождение (музыку, речь), и даже видеоролики. И что самое удивительное, ваш документ не будет представлять из себя "кучу" файлов в различных форматах, а останется единым документом.

Все перечисленные выше чудеса стали возможны благодаря новой технологии, внедренной фирмой Microsoft в операционной системе Windows 3.1. Эта технология носит название OLE.

Таинственное сокращение OLE происходит от словосочетания Object Linking and Embedding, что можно перевести как связывание (соединение) и встраивание (включение, внедрение) объектов.

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

Стандартные приложения Windows - Paintbrush, Write, Sound Recorder, Cardfile, Object Pakager поддерживают OLE. Кроме стандартных приложений Windows, многие другие приложения, разработанные фирмой Microsoft и другими независимыми фирмами, включают в себя поддержку OLE-технологии. Microsoft Word for Windows 2.0 и 6.0, Microsoft Excel 4.0 и 5.0, ZSoft PhotoFinish 2.0, Designer, FoxPro for Windows, Access и многие другие пакеты включают поддержку OLE-технологии.

7.1. Немного о терминологии

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

Сервер (Server)

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

В состав операционной системы Windows версии 3.1 включен графический редактор Paintbrush и звуковой редактор Sound Recorder. Оба эти приложения поддерживают OLE-технологию и могут служить для создания объектов встраиваемых в другие документы.

Клиент (Client)

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

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

Типичными приложениями-клиентами являются Write, Microsoft Word for Windows, Cardfile, Access и FoxPro for Windows.

Объект (Object)

Под объектом понимается информация, подготовленная в любом приложении, поддерживающим OLE-технологию. В качестве примера объектов можно привести графические изображения Paintbrush, речь или музыка, записанные приложением Sound Recorder, видеоролики, подготовленные в Microsoft Excel таблицы.

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

Основной документ (Compound documents)

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

Встраивание (вставка) (Embedding)

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

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

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

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

Связывание (Linking)

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

Использование операции связывания вместо операции вставки имеет два важных преимущества.

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

Упаковка (Packaging)

В операционной системе Windows 3.1 предусмотрена возможность вставки в документ объекта, подготовленного приложением, не поддерживающим OLE-технологию. Для этого предназначено приложение Object Packager, расположенное в группе Accessories приложения Program Manager.

С помощью приложения Object Packager создайте пакет, содержащий пиктограмму (которую вы можете сами нарисовать), путь к приложению-серверу и путь к файлу, содержащему файл объекта. Затем встройте этот пакет в основной документ.

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

7.2. Использование OLE-технологии

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

Подготовка электронного письма или рекламы

С использованием OLE-технологии можно быстро и качественно подготовить электронное письмо или электронную рекламу, которую вы можете разослать через модем (электронную почту) или дискеты всем заинтересованным лицам.

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

Допустим, ваша фирма выпускает музыкальные инструменты, например балалайки или гитары. Вам надо подготовить рекламу вашего изделия и разослать ее потенциальным покупателям.

Воспользовавшись OLE-технологией, вы можете подготовить в текстовом процессоре Word for Windows или редакторе Write текст рекламного сообщения, в Paintbrush подготовить изображение балалайки, с помощью приложения Sound Recorder (и соответствующей аппаратуры, например платы SoundBlaster или Covox) записать небольшую приятную мелодию, сыгранную на балалайке, а затем объединить все эти файлы (объекты) вместе. Для этого вы можете выполнить операцию встраивания в текст приложения Write объектов приложений Paintbrush и Sound Recorder. Опишем весь процесс создания рекламного объявления.

Подготовьте в текстовом процессоре Word for Windows 2.0 текст рекламного объявления, в который будут встроены изображение балалайки и звуковая запись. Запишите подготовленный документ в файл RECLAMA.DOC.

Запустите приложение Paintbrush и нарисуйте в нем изображение музыкального инструмента. Если у вас есть сканер, сфотографируйте балалайку, отсканируйте фотографию и запишите ее изображение в файл. Затем загрузите файл с изображением в редактор Paintbrush.

Выделите участок изображения, который необходимо включить в рекламный проспект (см. рис. 7.1). Запишите выделенный участок изображения в буфер Clipboard. Для этого выберите из меню "Edit" строку "Copy".

Рис. 7.1. Рисунок музыкального инструмента

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

Выберите из меню "Edit" строку "Paste Special...". На экране появится диалоговая панель "Paste Special" (см. рис. 7.2).

Рис. 7.2. Диалоговая панель "Paste Special"

В списке "Data Type" перечислены форматы, в которых можно встроить информацию, расположенную в буфере Clipboard. Чтобы встроить рисунок как объект Paintbrush, выберите из списка строку "Paintbrush Picture Object". Если выбрать из списка формат Bitmap или Picture, рисунок будет встроен как объект Microsoft Draw, а не Paintbrush.

Для встраивания рисунка в документ, нажмите кнопку "Paste". Рисунок будет встроен в документ (см. рис. 7.3). Выбрав рисунок, вы можете изменять его размер. После встраивания рисунка исходный файл можно удалить ради сохранения места, так как он записан в документе Word for Windows.

Кнопка "Paste Link" позволяет связать рисунок с документом. При этом объект (рисунок) не встраивается в документ, а привязывается к нему. В этом случае исходный файл с рисунком необходим и удалять его нельзя.

Встроенный нами в документ рисунок можно легко изменить. Для этого выполните двойной щелчок мышью по рисунку внутри документа. Автоматически запустится приложение Paintbrush и в поле редактирования загрузится наш рисунок.

После того как вы внесли в него все необходимые изменения, выберите из меню "File" приложения Paintbrush строку "Update". Встроенный рисунок будет обновлен. Теперь вы можете закрыть графический редактор Paintbrush и вернуться в окно текстового процессора, выбрав из меню "File" строку "Exit & Return to RECLAMA.DOC".

Рис. 7.3. Подготовка рекламы в Microsoft Word for Windows 2.0

Теперь озвучим наш рекламный проспект. Если в компьютере установлен звуковой адаптер, запишите с помощью приложения Sound Recorder мелодию, исполненную на вашем музыкальном инструменте.

Затем в приложении Sound Recorder выберите из меню "Edit" строку "Copy". Записанная мелодия будет скопирована в буфер Clipboard. Вы можете завершить приложение Sound Recorder, оно нам больше не понадобится.

Переключитесь обратно на текстовый процессор Word for Windows. Установите курсор в то место текста рекламы, где следует вставить пиктограмму для проигрывания записанной мелодии. Выберите из меню "Edit" строку "Paste Special...". Появится уже знакомая нам диалоговая панель "Paste Special", но в список "Data Type:" будут включены другие форматы (см. рис. 7.4).

Рис. 7.4. Встраивание звукового объекта

Выберите из списка "Data Type:" формат "Sound Object" и нажмите кнопку "Paste". Внутри документа появится пиктограмма приложения Sound Recorder (см. рис. 7.5).

Рис. 7.5. Пиктограмма звукового объекта

Если вы попробуете вставить в документ содержимое Clipboard как Bitmap или Picture, то в документ запишется только пиктограмма. Звуковые возможности не будут реализованы. А когда вы щелкните по такой пиктограмме мышью, запустится Microsoft Draw.

Вы можете изменить размер пиктограммы приложения Sound Recorder и переместить в другое место рекламного проспекта (см. рис. 7.6). Чтобы проиграть встроенную мелодию установите указатель мыши на пиктограмму и сделайте дойной щелчок левой кнопкой мыши.

Рис. 7.6. Конечный вид рекламного проспекта

Если вам понадобится изменить записанную мелодию, выделите пиктограмму и выберите из меню "Edit", строку "Sound Object...". Автоматически запустится приложение Sound Recorder и в него загрузится мелодия.

Выполнив необходимые изменения мелодии, выберите из меню "File" приложения Sound Recorder строку "Update" и закройте его. Вы вернетесь обратно в текстовый процессор Word.

Запишите все внесенные в рекламный проспект изменения, выбрав из меню "File" текстового процессора строку "Save". Теперь в файле RECLAMA.DOC записан рекламный проспект, содержащий рисунок и небольшую мелодию. Вы можете разослать этот файл всем потенциальным покупателям, они смогут прочитать, просмотреть и прослушать ваш проспект.

Подготовка нескольких документов с картинками

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

Если вам нужно подготовить несколько документов, содержащих одинаковые объекты (изображения, звуки, таблицы, подготовленные в Microsoft Excel), OLE-технология встраивания не подходит. Когда вам потребуется внести изменения в рисунок, то придется отдельно корректировать этот рисунок в каждом документе.

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

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

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

Рассмотрим процесс подготовки двух документов (отчетов) в Microsoft Word for Windows 2.0, содержащих одинаковую гистограмму, созданную в графическом редакторе Paintbrush.

Сначала подготовьте гистограмму, которую надо включить в ваши документы. Для создания гистограммы используйте графический редактор Paintbrush. Запишите готовую гистограмму в файл GIST.PCX (см. рис. 7.7).

Рис. 7.7. Гистограмма, подготовленная в Paintbrush

Теперь запустите Microsoft Word for Windows 2.0 и подготовьте первый документ. Чтобы включить гистограмму в документ, переключитесь на Paintbrush и скопируйте весь рисунок в Clipboard. Затем снова переключитесь на Word for Windows. Приложение Paintbrush можно пока не закрывать.

Переместите курсор в то место текста, где предполагается вставить гистограмму, и выберите из меню "Edit" строку "Past Special...". На экране появится уже знакомая нам диалоговая панель "Paste Special" (см. рис. 7.8).

Рис. 7.8. Связывание графического объекта с документом

Но теперь, в отличие от предыдущего примера, из списка доступных форматов выберите формат "Bitmap" или "Picture". Кнопка "Paste Link", которая раньше отображалась серым цветом, теперь стала доступна. Нажмите на нее.

Нарисованная вами гистограмма появится в поле редактирования первого документа. При необходимости измените ее размер и переместите в другое положение. Сохраните готовый документ в файле DOC1.DOC.

Составьте второй отчет, также включив в него гистограмму из файла GIST.PCX. Для этого повторите все действия, описанные нами выше.

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

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

Более удобен другой способ. Пусть вам потребовалось добавить в гистограммах, включенных в отчетах DOC1.DOC и DOC2.DOC, еще один интервал. Для этого запустите графический редактор Paintbrush и загрузите в него файл GIST.PCX. Внесите необходимые изменения (см. рис. 7.9) и сохраните файл, выбрав строку "Save" из меню "Edit". Закройте приложение Paintbrush, оно больше не понадобится.

Рис. 7.9. Измененная гистограмма

Как будет происходить обновление документов, связанных с файлом GIST.PCX и приложением Paintbrush? Это зависит от настройки параметров Word for Windows 2.0. Выберите из главного меню "Edit" строку "Links...". На экране появится диалоговая панель "Links" (см. рис. 7.10).

Рис. 7.10. Диалоговая панель "Links"

Диалоговая панель "Links" содержит список "Links:", в котором перечислены все связанные с документом OLE-объекты. Каждая строка списка представляет одну связь (связь с одним OLE-объектом). Строка состоит из названия приложения, в котором подготовлен связанный с документом OLE-объект, полного пути исходного файла OLE-объекта, параметров, зависящих от объекта и режим обновления OLE-объекта - Manual или Automatic.

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

Если установлен автоматический режим обновления связи ("Automatic"), обновление представления OLE-объекта происходит автоматически при загрузке главного документа. В режиме ручного обновления ("Manual") требуется вручную указать на необходимость обновления.

Вы можете изменить режим обновления. Выберите из списка "Links:" связь и измените режим обновления с помощью переключателя "Update". В положении "Automatic" устанавливается режим автоматического обновления, а в положении "Manual" - ручного.

Чтобы выполнить принудительное обновление OLE-объекта связанного в режиме "Manual" или "Automatic" выберите из списка соответствующие связи. Можно выбрать сразу несколько связей. Затем нажмите кнопку "Update Now".

Кнопка "Open Source" позволяет выполнить редактирование связанного объекта. Выберите из списка "Links:" связь и нажмите кнопку "Open Source". Запустится приложение-сервер и в него загрузится исходный файл связанного с главным документом OLE-объекта. Внесенные изменения отразятся на всех документах, содержащих ссылку на этот объект.

Для связей, установленных в режиме автоматического обновления, все изменения, внесенные в исходный файл OLE-объекта, автоматически отражаются в главном документе. Связи в режиме ручного обновления автоматически не обновляются и требуют выполнения принудительного обновления (Кнопка "Update Now" в диалоговой панели "Links").

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

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

Таким образом, после удаления связи с звуковым файлом, подготовленным в приложении Sound Recorder вы уже не сможете проиграть этот звук, хотя пиктограмма Sound Recorder останется в главном документе.

Если вы удалите исходный файл связанного объекта, например, в нашем случае GIST.PCX, объект все равно будет отображаться в документе, но когда вы решите его отредактировать, у вас ничего не получится. При этом Word for Windows 2.0 выдаст следующее сообщение (см. рис. 7.11).

Рис. 7.11. Word не может редактировать объект Paintbrush

Не только операция удаления нарушает связь объекта и документа. Перемещение исходного файла объекта в другой каталог также нарушает эту связь. Развитая в Microsoft Word for Windows 6.0 и Excel 5.0 OLE-технология версии 2.0 позволяет свободно перемещать связанные объекты и документы без нарушения связи.

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

Чтобы настроить связь после перемещения OLE-объекта, выделите этот объект и выберите из меню "Edit" строку "Links...". В открывшейся диалоговой панели "Links" соответствующая связь в списке "Links:" будет выделена цветом. Нажмите кнопку "Change Link...".

Рис. 7.12. Диалоговая панель "Change Link"

Открывшаяся диалоговая панель "Change Link" (см. рис. 7.12) позволяет вам изменить название приложения-сервера, в котором подготовлен OLE-объект, путь исходного файла OLE-объекта и дополнительную информацию, зависящую от типа объекта.

В нашем случае необходимо изменить только путь исходного файла OLE-объекта. Введите новый путь в окне редактирования "File Name:" и нажмите кнопку "OK".

Зеленый монстр и Word for Windows

Устав от редактирования документов в Word for Windows 2.0, вы можете немного развлечься просмотреть небольшой забавный фильм про страшного зеленого монстра и Word for Windows. Для этого достаточно выполнить несколько тривиальных действий, не описанных в документации, поставляемой с Word for Windows 2.0.

Мы позволили себе восполнить этот "пробел" и описали процедуру вызова зеленого монстра на экран.

Вы увидите маленьких человечков и ужасного жирного зеленого монстра W.P., побеждаемого под всеобщее ликование человечков текстовым процессором Word for Windows (см. рис. 7.13).

Рис. 7.13. Ужасный зеленый монстр W. P.

После победы над монстром, начинается праздничный фейерверк и появляется список разработчиков текстового процессора Word for Windows.

Иногда при использовании в Windows драйверов видеоадаптера, имеющих высокое разрешение (800*600 пикселов и больше) зеленый монстр не появляется. Если вы все же желаете на него взглянуть, замените драйвер видеоадаптера стандартным драйвером VGA. После просмотра поменяйте драйвер видеоадаптера обратно.

Приложение Cardfile и OLE-технология

Ранее в главе "Стандартные приложения Windows" мы уже изучали возможности электронной картотеки Cardfile. Теперь мы снова вернемся к этому приложению и рассмотрим возможности Cardfile по использованию OLE-технологии.

Электронная картотека Cardfile поддерживает OLE-технологию. Однако, в отличие от других приложений, Cardfile накладывает несколько ограничений на использование OLE-технологии.

Рассмотрим процедуру встраивания плана местности, подготовленного в графическом редакторе Paintbrush в информационное поле карточки. В качестве примера возьмем картотеку адресов SAMPLE.CRD, описанную в разделе "Электронная картотека Cardfile" главы "Стандартные приложения Windows".

Запустите приложение Cardfile и загрузите файл картотеки SAMPLE.CRD. Откройте карточку, в которую надо встроить рисунок. Пусть это будет карточка Волчанского Александра Владимировича.

Затем загрузите графический редактор Paintbrush и нарисуйте в нем план местности, где проживает Волчанский Александр Владимирович. Запишите нарисованный план в файл PLAN.BMP.

Если план местности подготовлен вами ранее, загрузите его в Paintbrush. Выделите участок плана, который необходимо поместить в карточку, и скопируйте его в Clipboard (см. рис. 7.14). Для этого следует воспользоваться строкой "Copy" из меню "Edit".

Рис. 7.14. Подготовка графического изображения

Теперь начнем встраивание рисунка, находящегося в буфере Clipboard в информационное поле карточки. Перед встраиванием OLE-объектов переключите Cardfile в графический режим, выбрав из меню "Edit" строку "Picture" (см. рис. 7.15). В графическом режиме Cardfile невозможно редактировать текст карточки. Когда вы закончите встраивание OLE-объекта, переведите Cardfile обратно в текстовый режим, выбрав из меню "Edit" строку "Text".

Рис. 7.15. Меню "Edit"

Выберите из меню "Edit" строку "Paste Special...". На экране появится диалоговая панель "Paste Special" 7.16. В этой диалоговой панели расположен список "Data Type:". Содержимое этого списка зависит от содержимого Clipboard и от того, какое приложение записало информацию в Clipboard. Чтобы встроить в карточку рисунок как объект графического редактора Paintbrush, выберите из этого списка строку "Paintbrush Picture Object".

С правой стороны диалоговой панели расположены кнопки "Paste", "Paste Link" и "Cancel". Чтобы встроить OLE-объект, нажмите кнопку "Paste", а чтобы связать объект с карточкой - кнопку "Paste Link". Если вы отказываетесь от встраивания OLE-объекта, нажмите кнопку "Cancel".

Рис. 7.16. Диалоговая панель "Paste Special"

Нажмите на кнопку "Paste". План местности будет встроен в карточку и появится в информационном поле. Переместите изображение плана в нижнюю часть карточки, чтобы оставался виден адрес (см. рис. 7.17).

Рис. 7.17. Вставка графического изображения

После встраивания объекта исходный файл PLAN.BMP можно удалить, так как вся необходимая информация записана в файл картотеки. Если же вместо кнопки "Paste" мы нажали кнопку "Paste Link", то исходный файл следует сохранить.

Вы можете редактировать изображение плана, встроенное в карточку. Для этого переключитесь в режим просмотра графики, выбрав строку "Picture" из меню "Edit". Сделайте двойной щелчок левой кнопкой мыши по изображению плана. Запустится редактор Paintbrush и в него автоматически загрузится изображение плана. Внеся все необходимые изменения, выполните обновление встроенного объекта. Для этого из меню "File" выберите строку "Update". Затем закройте приложение Paintbrush, выбрав из меню "File" строку "Exit & Return to SAMPLE.CRD".

Если вы решили отказаться от изменения встроенного объекта, выберите "Exit & Return to SAMPLE.CRD". Paintbrush запросит подтверждение для обновления встроенного графического объекта. Нажмите кнопку "No" для отказа от обновления.

Использование приложения Object Packager

Операционная система Windows 3.1 содержит приложение Object Packager, предназначенное для расширения возможностей OLE-технологии.

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

Вместо встраивания или связывания объекта с документом, Object Packager позволяет создать новый объект, называемый пакетом, который затем можно встроить в документ. Встроенный в документ пакет имеет вид пиктограммы.

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

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

Вы можете использовать приложение Object Packager (см. рис. 7.18) в следующих случаях:

Вы также можете сами определять внешний вид пиктограммы, представляющей встраиваемый пакет, а также задавать подпись под пиктограммой.

Рис. 7.18. Приложение Object Packager

Встраивание команд Windows и MS-DOS

Object Packager позволяет встроить в документ пакет, содержащий команду Windows или MS-DOS. Двойной щелчок по пиктограмме такого пакета вызывает запуск приложения Windows или выполнение соответствующей команды MS-DOS. Опишем процедуру создания и встраивания такого объекта.

Запустите приложение Object Packager. Из меню "Edit" выберите строку "Command Line". На экране появится одноименная диалоговая панель (см. рис. 7.19).

Рис. 7.19. Диалоговая панель "Command Line"

В окне редактирования "Command:" введите команду, которую будет содержать созданный пакет. Пусть требуется запустить справочную подсистему Windows и загрузить в нее базу данных по приложению Program Manager. Тогда введите следующую команду:

WINHELP PROGMAN.HLP

Нажмите кнопку "OK". Диалоговая панель "Command Line" закроется, а в поле "--Content--" главного окна приложения Object Packager появится строка, "WINHELP PROGMAN.HLP", отображающая введенную команду.

Вы можете указать не только команды запуска приложений Windows. Возможен вызов любых команд MS-DOS и любых программ как приложений Windows, так и программ MS-DOS, в том числе возможен запуск командных файлов MS-DOS.

Теперь выберем для нашего приложения пиктограмму. Для этого нажмите на кнопку "Insert Icon..." в поле "--Appearance--". Появится диалоговая панель "Insert Icon" (см. рис. 7.20).

Рис. 7.20. Диалоговая панель "Insert Icon"

В ней представлены пиктограммы, содержащиеся в приложении Program Manager. Вы можете выбрать любую из представленных пиктограмм. Если ни одна из пиктограмм вас не устроила, укажите в поле редактирования "File Name:" имя файла, содержащего другие пиктограммы. Обычно пиктограммы записаны в файлах с расширениями ICO, EXE и DLL. Наиболее удобно при вводе нового имени файла воспользоваться возможностью выбора из списка. Список файлов на дисках компьютера, содержащих пиктограммы, можно получить, нажав кнопку "Browse...".

Выбрав пиктограмму из списка "Current Icon:" нажмите кнопку "OK". Диалоговая панель "Insert Icon" закроется, а в поле "--Appearance--" появится изображение выбранной пиктограммы.

При необходимости, можно задать подпись, которая будет отображаться под пиктограммой. Чтобы ввести подпись, выберите из меню "Edit" строку "Label...". В появившейся диалоговой панели введите строку подписи, в нашем примере строку "Справка", и нажмите кнопку "OK". Введенная подпись появится в поле "--Appearance--" под пиктограммой (см. рис. 7.21).

Рис. 7.21. Включение в пакет команды MS-DOS

На этом создание пакета можно считать законченным. Запишите его в буфер обмена Clipboard, выбрав из меню "Edit" строку "Copy Packadge". Строка "Copy", обычно используемая для копирования объекта в Clipboard, записывает в него только внешнее представление пакета - пиктограмму и подпись. Содержимое пакета не копируется.

Запустите приложение и откройте документ в который будет вставлен пакет. Например запустите Word for Windows 2.0 и откройте ваш документ. Переместите курсор в позицию в которой будет встроен пакет и выберите из меню "Edit" строку "Paste". Пакет будет встроен в редактируемый документ в виде пиктограммы с подписью (см. рис. 7.22).

Рис. 7.22. Внешний вид встроенного пакета

Сделайте двойной щелчок мышью по этой пиктограмме. Автоматически запустится справочная система Windows - Microsoft Windows Help и откроется база данных по приложению Program Manager (см. рис. 7.23).

Рис. 7.23. Запуск справочной системы Windows

Вы можете изменить встроенный пакет: поменять пиктограмму, подпись под ней или выполняемую команду. Выберите пакет, который надо изменить, щелкнув по нему мышью. Затем из меню "Edit" выберите строку "Package Object...". Запустится приложение Object Packager, в котором будет открыт для редактирования пакет. После внесения всех необходимых изменений, выберите строку "Update" из меню "File" приложения Object Packager. Пакет встроенный в документ будет обновлен и вы можете закрыть приложение Package Object.

Изменение пиктограммы пакета

Если ни одна из существующих пиктограмм вас не устраивает, вы можете нарисовать свою собственную с помощью приложения Paintbrush. Чтобы самостоятельно разработать или изменить уже существующую пиктограмму, перейдите в режим изменения встроенного пакета. Как уже было сказано выше, для этого надо выделить соответствующий пакет и выбрать строку "Package Object..." из меню "Edit".

Затем, в открывшемся окне приложения Package Object, перейдите в поле "--Appearance--" и скопируйте пиктограмму пакета в Clipboard, выбрав из меню "Edit" строку "Copy".

Запустите любой графический редактор, например Paintbrush. Из меню "Edit" выберите строку "Paste". В поле редактирования Paintbrush появится пиктограмма пакета. Вы можете отредактировать ее или нарисовать новую. Выделите готовый рисунок и запишите его в Clipboard, выбрав из меню "Edit" строку "Copy".

Завершите Paintbrush и переключитесь обратно на окно приложения Package Object. Опять сделайте активным поле "--Appearance--". Подключите новую пиктограмму, выбрав из меню "Edit" строку "Copy". Пиктограмма, созданная в графическом редакторе Paintbrush, появится в поле "--Appearance--", заменив старую пиктограмму.

Единственным недостатком такой замены пиктограммы является невозможность изменения подписи под пиктограммой. Такую подпись придется рисовать в графическом редакторе Paintbrush.

Чтобы новая пиктограмма появилась в главном документе, обновите встроенный пакет, выбрав из меню "File" строку "Update". И, наконец, закройте приложение Package Object.

Создание пакета из целого документа

Пакет может содержать встроенный объект или ссылку на объект. Чтобы создать пакет, содержащий встроенный объект, можно воспользоваться либо приложением Package Object, либо приложением File Manager. Для создания пакета, содержащего связанный объект, необходимо использовать приложение File Manager.

Рассмотрим процесс создания пакета, содержащего встроенный объект, на примере документа, подготовленного в редакторе Notepad. Встроим пакет в документ, подготовленный текстовым процессором Word for Windows 2.0.

Заметьте, что текстовый редактор Notepad сам по себе не поддерживает OLE-технологию и документ, подготовленный в нем, не может быть использован в качестве объекта. Чтобы встроить такой документ в другое приложение, необходимо использовать Package Object и создать пакет.

Запустите Package Object и выберите поле "--Content--". Затем из меню "File" выберите строку "Import...". На экране появится диалоговая панель "Import" (см. рис. 7.24).

Рис. 7.24 Диалоговая панель "Import"

Выберите из списков "Drives:" и "Directories:" полный путь каталога, содержащий документ, который будет использован для создания пакета. Из списка "File Name:" выберите имя файла документа или введите его в поле редактирования "File Name:".

Допустим, вы желаете создать пакет из документа DOCLAD.TXT. Введите его имя в поле "File Name:". Нажмите кнопку "OK".

Имя выбранного файла документа отображается в поле "--Content--", а в поле "--Appearance--" появляется пиктограмма приложения, в котором создан документ. Название приложения, использованного для создания документа, определяется на основании привязки приложения к расширению имени файла документа. В первом томе серии "Персональный компьютер - шаг за шагом" мы рассмотрели привязку приложения к расширениям файла в разделе "Программа File Manager".

К расширению TXT привязан текстовый редактор Notepad, поэтому в поле "--Appearance--" появляется пиктограмма приложения Notepad. И Notepad будет использоваться для отображения и редактирования документа DOCLAD.TXT.

При необходимости замените пиктограмму пакета, нажав на кнопку "Insert Icon..." и поменяйте подпись под пиктограммой, выбрав из меню "Edit" строку "Label...".

Когда пакет будет готов, скопируйте его в буфер Clipboard, выбрав из меню "Edit" строку "Copy Package". Переключитесь на документ, в котором будет встроен пакет и встройте его в нужном месте.

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

В нашем случае, пакет содержит текстовый файл и при двойном щелчке по пиктограмме этого пакета запускается текстовый редактор Notepad и в него загружается документ DOCLAD.TXT.

Пакет можно создать не только из текстового или графического документа. Вы можете также выбрать для создания пакета выполнимый файл. Если выбран выполнимый файл, то в поле "--Appearance--" отображается его пиктограмма или пиктограмма приложения Object Packager. После встраивания такого пакета в главный документ при двойном щелчке по пиктограмме пакета запускается соответствующая программа.

Если с выбранным файлом не связано (не ассоциируется) ни одно приложение, то в поле "--Appearance--" появляется пиктограмма приложения Object Packager. Тем не менее, вы можете встроить такой пакет в документ, но это не прибавит вам счастья. После двойного щелчка по пиктограмме такого пакета появляется сообщение, о том что с данным файлом не ассоциировано ни одно приложение.

File Manager и встраивание пакетов

Уже известное нам приложение File Manager также может быть использовано при создании пакета и встраивании его в документ. При этом вы можете упаковать встроенный документ или только ссылку на него. Можно выделить три различных способа использования File Manager для создания пакета.

Запустите File Manager и выберите имя файла, содержащего документ, для создания пакета. Из меню "File" выберите строку "Copy". В появившейся диалоговой панели переведите переключатель "To:" в положение "Copy to Clipboard" и нажмите кнопку "OK".

Откройте приложение Object Packager. Переключитесь на поле "--Content--". При создании пакета можно либо встроить в пакет весь документ, или только ссылку на него.

Чтобы встроить в пакет весь документ, выберите из меню "Edit" строку "Paste". Полученный пакет будет содержать копию исходного документа. В поле "--Content--" появится строка "Copy of <имя выбранного файла>".

Если вам надо создать пакет, который содержит только ссылку на исходный документ, выберите из меню "Edit" строку "Paste Link". В поле "--Content--" появится строка "Link of <имя выбранного файла>".

Если надо, измените пиктограмму пакета и подпись под ним, затем скопируйте подготовленный пакет в Clipboard и встройте его в документ, выбрав из меню приложения клиента строку "Paste" из меню "Edit". Встроенный пакет будет отображен его пиктограммой. Чтобы просмотреть упакованный документ, сделайте двойной щелчок мышью по пиктограмме пакета.

Запустите File Manager и выберите имя файла, содержащего документ для создания пакета. Из меню "File" выберите строку "Copy". В появившейся диалоговая панели переведите переключатель "To:" в положение "Copy to Clipboard" и нажмите кнопку "OK".

Откройте документ в который надо встроить пакет. Если вам надо встроить пакет, который содержит только ссылку на исходный документ, выберите из меню "Edit" строку "Paste Link". Чтобы встроить пакет, в который встроен весь исходный документ, выберите из меню "Edit" строку "Paste".

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

Одновременно запустите File Manager и приложение, в котором создается главный документ. Найдите в окне File Manager файл документа, который будет упакован.

Чтобы поместить в документ пакет, содержащий встроенный объект, выделите левой кнопкой мыши соответствующий файл и не отпуская кнопки, перетащите пиктограмму файла в то место главного документа, где должен быть встроен пакет. Отпустите кнопку. В месте вставки появится пиктограмма пакета.

Если вы желаете встроить пакет, содержащий только ссылку на объект, то при перетаскивании (Drag and Drop) пиктограммы файла объекта из приложения File Manager в главный документ держите нажатыми клавиши <Ctrl+Shift>.

Создание пакета из части документа

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

Запустите приложение сервер и скопируйте часть встраиваемого документа в буфер Clipboard, выбрав строку "Copy" из меню "Edit". Переключитесь на приложение Object Packager. Перейдите в главном окне приложения Object Packager в поле "--Content--".

Чтобы создать пакет, содержащий копию информации, записанной в Clipboard, выберите из меню "Edit" строку "Paste". Если надо, чтобы пакет содержал только ссылку на исходный (подчиненный) документ, выберите строку "Paste Link".

Подготовленный пакет запишите в Clipboard, а затем встройте в главный документ.

Извлечение документа (объекта) из пакета

Если при создании пакета вы использовали приложение File Manager, можно извлечь содержимое пакета и записать его в файл. Для этого щелкните мышью по пиктограмме пакета и выберите строку "Package Object..." из меню "Edit". Выбранный вами пакет загрузится в приложение Object Packager.

Откройте меню "File" и выберите строку "Save Contents...". На экране возникнет диалоговая панель "Save Contents". Выберите каталог, в котором будет записан файл, и введите его имя. Затем нажмите кнопку "OK". Объект, встроенный в пакет, будет записан в файл.

7.3. OLE версии 2.0

OLE-технология настолько хорошо зарекомендовала себя, что фирма Microsoft пошла по пути развития этого стандарта и разработала новый стандарт OLE версии 2.0.

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

OLE версии 2.0 полностью совместим с предыдущими версиями. Приложения, поддерживающие OLE 2.0, могут взаимодействовать с приложениями, поддерживающие OLE 1.0.

К новым возможностям OLE 2.0 относятся:

Новое программное обеспечение, разработанное для Windows, - текстовый процессор Microsoft Word for Windows 6.0 и электронная таблица Microsoft Excel 5.0 - поддерживают технологию стандарта OLE версии 2.0. Рассмотрим новые возможности OLE версии 2.0 на примере этих приложений.

В этом томе мы не станем подробно рассматривать приложение Microsoft Excel 5.0. Пакету Excel 5.0 мы специально посвятим отдельный том в серии "Персональный компьютер - шаг за шагом".

Активизация по месту

Запустите приложение Microsoft Excel 5.0. Откройте документ BOOKST.XLS, расположенный в каталоге EXAMPLES, содержащем примеры поставляемые вместе с Excel 5.0.

На экране появится интерфейсная панель с четырьмя кнопками. Чтобы просмотреть гистограмму сбыта книжной продукции, нажмите кнопку "Sales Chart". Появится временная диалоговая панель с предложением определить год для построения гистограммы. Выберите 1993 год и нажмите кнопку "OK". Временная диалоговая панель исчезнет, а на экране появится гистограмма сбыта продукции за 1993 год.

Из меню "Format" выберите строку "Char Type...". В открывшейся диалоговой панели можно изменить внешний вид гистограммы, например сделать ее трехмерной.

Выделите полученную гистограмму, с помощью мыши. Скопируйте ее в буфер Clipboard (см. рис. 7.25).

Рис. 7.25. Подготовка гистограммы в Excel 5.0

Встроим теперь эту гистограмму в документ SAMPLE.DOC, подготовленный в Word for Windows 6.0. Для этого поместите курсор в позицию, где необходимо разместить пиктограмму и выберите из меню "Edit" строку "Paste Special..." (см. рис. 7.26).

Рис. 7.26. Встраивание объекта (гистограммы) в документ

На экране появится диалоговая панель "Paste Special". Внешний вид этой панели заметно отличается от аналогичной диалоговой панели текстового процессора Word for Windows версии 2.0. В верхней части диалоговой панели, в поле "Source:", отображается название приложения-сервера, в котором был подготовлен документ. Ниже названия приложения сервера выводится название документа, в котором расположен исходный объект.

Вместо двух кнопок "Paste" и "Paste Link", позволяющих либо встроить объект, находящийся в Clipboard, либо поместить в главном документе только ссылку на объект, появились переключатели "Paste" и "Paste Link".

Для того, чтобы встроить объект из Clipboard в документ, записав в файл документа копию объекта, переведите переключатель в положение "Paste". Если требуется подключить объект по ссылке, переключатель должен находится в положении "Paste Link".

Word for Windows версии 6.0 открывает еще одну возможность - встроенный объект может отображаться в главном документе в виде пиктограммы. Раньше, чтобы достичь такого эффекта, требовалось сначала создать пакет, воспользовавшись приложением Object Packager, а затем встроить этот пакет в главный документ.

Режим представления OLE-объекта в главном документе устанавливается переключателем "Display as Icon". Чтобы OLE-объект был представлен в главном документе только пиктограммой, включите этот переключатель.

Список "As:" соответствует списку "Data Types:" диалоговой панели "Paste Special" текстового процессора Word for Windows 2.0. Чтобы включить гистограмму, расположенную в буфере Clipboard, как объект Excel 5.0, выберите из списка "As:" строку "Microsoft Excel 5.0 Chart Object" (см. рис. 7.27).

Рис. 7.27. Диалоговая панель "Paste Special"

Встроим гистограмму, расположенную в Clipboard, в текст документа, подготавливаемого в текстовом процессоре Word for Windows 6.0 как объект Microsoft Excel 5.0. Для этого приведите органы управления, расположенные в диалоговой панели "Paste Special", в соответствие с рисунком 7.27.

Нажмите кнопку "OK". Подготовленная в Excel 5.0 гистограмма появится в тексте редактируемого в Word 6.0 документа (см. рис. 7.28). Вы можете распечатать из Word for Windows наш документ. Гистограмма также будет распечатана.

Рис. 7.28. Гистограмма, встроенная в документ подготовленный текстовым процессором Word for Windows 6.0

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

Раньше, когда мы пользовались OLE-технологией версии 1.0, запускалось приложение-сервер (в нашем случае Excel), и в него загружался выбранный OLE-объект.

Microsoft Word for Windows 6.0 и Excel 5.0 поддерживают расширенную OLE-технологию версии 2.0. После двойного щелчка по гистограмме мы не переключаемся на окно Excel 5.0, а остаемся в окне Word for Windows 6.0. Однако все меню, и кнопки (toolbar) заменяются соответствующими меню и кнопками Excel 5.0 (см. рис. 7.29). И мы как бы оказываемся в Excel 5.0, не покидая текстовый процессор Word for Windows 6.0.

Рис. 7.29. Редактирование объекта по месту

Воспользуемся возможностями, предоставляемыми нам приложением Excel 5.0, и выполним трехмерный поворот гистограммы.

Для этого выберите из меню "Format" строку "3-D View...". В появившейся диалоговой панели с помощью специальных кнопок со стрелками измените внешний вид гистограммы.

Окончив изменение гистограммы, вернитесь обратно в обычный режим текстового процессора Word for Windows 6.0. Для этого достаточно щелкнуть мышью снаружи встроенного объекта (в данном случае вне гистограммы).

Результат редактирования гистограммы можно видеть на рисунке 7.30.

Рис. 7.30. Результат редактирования гистограммы

7.4. Встраивание шрифтов TrueType

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

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

Для решения этой проблемы в операционную систему Windows 3.1 включен специальный механизм, носящий название font embedding technology - технология встраивания шрифтов.

Технология встраивания шрифтов позволяет встраивать внутрь документа TrueType-шрифты, используемые в этом документе. Когда такой документ просматривается, редактируется или печатается на компьютере, где необходимые шрифты не установлены, шрифты, встроенные в документе, временно подключаются и используются при просмотре и печати документа.

В текстовом процессоре Microsoft Word for Windows 2.0, редакторе Write и других подобных редакторах такая возможность отсутствует. Поэтому раньше необходимо было следить за тем, чтобы у всех, кто пользовался документом, были установлены одинаковые шрифты.

Новая версия текстового процессора Microsoft Word for Windows 6.0 поддерживает технологию встраивания TrueType шрифтов в подготавливаемые документы.

Для того чтобы встроить шрифты TrueType в документ, подготовленный в текстовом процессоре Microsoft Word for Windows 6.0, при сохранении документа выберите из меню "File" строку "Save As". На экране появится диалоговая панель "Save As" (см. рис. 7.31).

Рис. 7.31. Диалоговая панель "Save As"

Выберите из списков "Driver:" и "Directories:" имя диска и путь каталога для записи редактируемого документа. В поле "Save File of Type" выберите строку "Word Document", означающую, что документ будет сохранен в формате Word for Windows 6.0. Из списка "File Name" выберите имя файла в котором будет сохранен документ. Если вы желаете создать новый файл, наберите его имя в поле редактирования "File Name".

Затем следует указать, что в документ необходимо встроить использованные в нем шрифты типа TrueType. Для этого в диалоговой панели "Save As" нажмите кнопку "Options...". Появится дополнительная диалоговая панель "Options" (см. рис. 7.32).

Рис. 7.32. Диалоговая панель "Options"

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

На переднем плане должна быть расположена карточка "Save". Если передний план занимает другая карточка, выберите карточку "Save", щелкнув мышью по ее заголовку (закладке).

На карточке "Save" расположено множество переключателей и полей редактирования, разделенных на две группы: "Save Options" и "File Sharing Options for Document1". Установите в группе "Save Options" переключатель "Embed TrueType Fonts". Теперь при выполнении операции сохранения документа в файл будут встроены использованные в документе шрифты TrueType.

Нажмите кнопку "OK", расположенную на карточке "Save". Диалоговая панель "Options" закроется и вы вернетесь в панель "Save As". Если вы правильно указали имя файла документа и его путь, нажмите кнопку "OK". Документ будет сохранен. В нашем примере документ сохраняется в файле DOC1.DOC, расположенном в каталоге WINUSER на диске D:.

Документ готов. Если его просматривать на компьютере, на котором установлены не все используемые в документе TrueType-шрифты, они будут временно подключены (установлены).

Возможность встраивания в документ всех необходимых TrueType-шрифтов делает документ более независимым от набора средств установленных на компьютере.

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

В процессе подготовки документа отключите переключатель "Embed TrueType Fonts", расположенный в карточке "Save" диалоговой панели "Options". Такой порядок работы позволит сохранить свободное пространство на жестком диске компьютера в процессе подготовки документа.