Подготовка нескольких документов с картинками
В предыдущем разделе мы подготовили документ, содержащий разнородные объекты в одном файле. Такой способ удобен, когда документ предназначен для распространения и не содержит объектов, используемых в нескольких документах.
Если вам нужно подготовить несколько документов, содержащих одинаковые объекты (изображения, звуки, таблицы, подготовленные в 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...".
Диалоговая панель "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".