Конспект лекций по Excell. 2011 печ. 184Л Электронные таблицы.Кон.лек- 26.12. Конспект лекций по дисциплине компьютернаятехникаипрограммировани е для студентов 1го курса дневной и заочной форм обучения образовательно
Скачать 3.95 Mb.
|
1. Буфер обмена – Clipboard, 2. Динамический обмен данными – DDE (аббревиатура от Dynamic Data Exchange), 3. Связывание и внедрение объектов – OLE (аббревиатура от Object Linking and Embedding). 10.1. Буфер обмена На все время работы операционной системы Microsoft Windows выделя- ется специальная область оперативной памяти – буфер обмена, который ис- пользуется для пересылки информации между документами как одного и того же, так и различных приложений. В качестве пересылаемой информации мо- гут выступать текст, рисунки, таблицы и т.д., а также их фрагменты. Буфер обмена – это простейшее, но довольно эффективное средство ин- теграции приложений. В Microsoft Windows через буфер обмена можно пере- сылать не только содержимое отдельных документов или их частей, но и це- лые файлы и папки. Пересылка информации через буфер обмена выполняется в соответствии с рисунком в два этапа: Буфер обмена Источник Приемник 1 2 1. В начале информация помещается в буфер обмена. 2. Затем, из буфера обмена она вставляется в выходной документ. Но, прежде чем поместить информацию в буфер обмена, ее предварительно необходимо выделить! Конкретные способы выделения информации зависят от используемого приложения. Наиболее же распространенный из них выполняется с помощью мыши – однократный щелчок левой кнопкой мыши по одиночному объекту, либо ее перемещение при нажатой левой кнопке – если необходимо выделить группу смежных объектов. 223 Записанную в буфер обмена информацию можно вставить в: 1) другое место того же документа, или 2) другой документ того же приложения, или 3) документ другого приложения. Однажды записанная в буфер обмена информация сохраняется в нем до тех пор, пока туда не будет помещена следующая порция данных. При этом прежнее содержание буфера обмена теряется безвозвратно – оно замещается новой порцией информации. Если же новая информация в буфере обмена по- мещена не будет – его прежнее содержание сохранится до окончания сеанса работы пользователя, или операционной системы Windows, вообще. Одну и ту же информацию из буфера обмена можно вставлять в документы много раз – его содержимое при этом не изменяется. Запуск и завершение программ, само по себе, на содержимое буфера обмена также не оказывают никакого влияния, потому что он принадлежит операционной системе, а не какому-либо одному приложению. Во всех приложениях Microsoft Windows, поддерживающих использование буфера обмена, в основном меню Правка предусмотрены следующие команды: Вырезать – переместить выделенный фрагмент в буфер обмена, удалив его в исходном документе. Копировать – скопировать выделенный фрагмент в буфер обмена. Содер- жимое исходного документа при этом не изменяется. Вставить – вставить содержимое буфера обмена в текущий документ, не изменяя при этом содержимое буфера обмена. Многие приложения дублируют эти команды в контекстных меню, а также с помощью кнопок на панелях инструментов. Количество щелчков мыши при их использовании, естественно, уменьшается. Некоторые приложения, наоборот, этих команд не имеют, хотя и поддерживают работу с буфером обмена. Например, поля редактирования различных диалоговых окон. В этом случае вместо команд меню и кнопок панелей инструментов используются следующие сочетания клавиш: Shift + Del – вырезать, Ctrl + Insert – копировать, Shift + Insert – вставить. Команды Вырезать и Копировать доступны только в случае, если в текущем документе есть хотя бы один выделенный фрагмент, а команда Вставить – если буфер обмена не пуст. Недоступные команды в основном, 224 и контекстном меню, а также соответствующие им кнопки панелей инстру- ментов, при этом имеют серый цвет Копирование графических объектов Копирование графических объектов в буфер обмена имеет некоторые особенности. Так, по нажатию клавиши PrintScreen в буфер обмена будет скопирован графический образ всего экрана (рабочего стола Windows) в виде растрового изображения. Сочетание же клавиш Alt + PrintScreen вызывает копирование только его активного окна. В Microsoft Excel активизация основ- ного меню Правка, при нажатой клавише Shift, вызывает появление в нем пунктов Копировать рисунок и Вставить рисунок, вместо Копировать и Вставить, соответственно. При выборе пункта меню Копировать рисунок появляется представленное далее одноименное окно диалога: В нем можно указать с помощью переключателей: Вид – точность копирования: • как на экране – копировать объект в том виде, как он выглядит на экране монитора, • как на печати – копировать объект так, как он был бы выведен на печать. Формат – способ копирования рисунка: • векторный – чтобы скопировать объект как метафайл Windows, или • растровый – чтобы скопировать объект как растровый рисунок. Этот переключатель доступен, только если переключателя Вид находится в положении как на экране. Буфер обмена Microsoft Office Приложения Microsoft Office, в дополнение к буферу обмена Windows, имеют свой, внутренний, буфер обмена. Так в Microsoft Office 2003 он одно- временно может хранить до 24 различных объектов, и управляется с помощью области задач Буфер обмена, которая активизируется по команде Правка → Буфер обмена Office. Основное достоинство буфера обмена состоит в легкости и простоте его использования, а недостаток – в том, что все операции выполняются пользова- 225 телем вручную, что особенно утомительно при частом изменении исходной информации. 10.2. Динамический обмен данными (DDE) Динамический обмен данными был разработан как средство для умень- шения количества ручных операций, выполняемых при передаче информации между различными приложениями Windows, особенно при ее обновлении. Он представляет собой набор специальных соглашений (протоколов) по обмену данными между различными приложениями. Обмен данными по технологии DDE выполняется в соответствии со следующим рисунком: Приложение- сервер Приложение- клиент Информация от приложения-сервера, которое является источником дан- ных, передается приложению-клиенту, которое является приемником данных. Для осуществления такого обмена между приложением-клиентом и при- ложением-сервером необходимо: 1) чтобы они оба поддерживали технологию DDE, 2) наличие установленной связи между ними. Установление связи Установление связи по технологии DDE рассмотрим на примере уста- новления связи между двумя рабочими книгами Microsoft Excel. Осуществить эту процедуру можно несколькими различными способа- ми, с помощью: 1) команд меню, 2) мыши – методом перетаскивания, 3) явного указания ссылок на ячейки-источники данных. Установление связи с помощью команд меню выполняется следующим образом: 1. Выделить диапазон исходных ячеек в документе приложения-сервера. 2. Скопировать их в буфер обмена. 3. Обозначить место вставки данных в документе приложения-клиента. 4. Выполнить команду Специальная вставка из контекстного или основного меню Правка. 5. В раскрывшемся окне диалога Специальная вставка нажать кнопку Вста- вить связь. 226 Установление связи методом перетаскивания выполняется по анало- гичному алгоритму: 1. Выполнить команду Окно → Расположить. 2. В раскрывшемся окне диалога Расположение окон выбрать такое распо- ложение окон рабочих листов приложения-сервера и приложения-клиента, чтобы были видны как диапазон-источник, так и диапазон-приемник. 3. Выделить диапазон исходных ячеек в приложении-сервере. 4. Установить курсор на границу выделенного диапазона. При этом он примет форму стрелки. 5. При нажатой правой кнопке мыши «отбуксировать» выделенный диапазон в требуемую позицию рабочего листа приложения-клиента. 6. В раскрывшемся, после отпускания кнопки мыши, контекстном меню вы- брать пункт Связать. Установление связи путем непосредственного указания ссылок на ячейки-источники является наиболее гибким методом. При этом не обяза- тельно, как в предыдущих двух методах, открытие рабочей книги приложения- 227 сервера. Однако при этом необходимо четко представлять структуру и имена, как рабочей книги, так и ее листов. В ячейках-приемниках рабочего листа при этом можно указывать не только простые ссылки на ячейки-источники, как в предыдущих двух методах, но и более сложные выражения (формулы), опе- рандами которых являются внешние ссылки на ячейки приложений-серверов. Адреса ячеек при этом можно вводить как непосредственно с клавиату- ры, так и методом прямого указания с помощью левой кнопки мыши. В последнем случае, правда, необходимо открытие рабочего листа приложе- ния-сервера. После установления связи любым из приведенных выше способов в ячейки рабочего листа приложения-клиента будут занесены ссылки на ячей- ки рабочего листа приложения-сервера, а соответствующие значения сразу будут отображены. Каждый, из приведенных выше способов, позволяет установить связь с ячейками: 1) в пределах одного рабочего листа, 2) в пределах различных рабочих листов одной и той же рабочей книги, 3) в разных рабочих книгах. Но только лишь с ячейками, расположенными в разных рабочих книгах, обмен информацией осуществляется то технологии DDE. Если источник данных находится в документе, отличном от документа, созданного одним из приложений Microsoft Office, его можно связать с основ- ным документом при помощи Microsoft Query. Для этого необходимо лишь: 1) чтобы приложение, под управлением которого был создан файл источника данных, поддерживало технологию DDE, и 2) для него существовал драйвер ODBC (аббревиатура от Open Database Connectivity). При этом и Microsoft Query и драйверы ODBC, со своей стороны, технологию DDE поддерживают. Технология DDE значительно усовершенствовала первоначальную ме- тодику обмена информацией между различными приложениями Windows с помощью буфера обмена, но все еще имеет определенные недостатки. Во-первых, обмен данными между приложениями выполняется практи- чески без какого-либо форматирования, а во-вторых, чтобы внести изменения 228 в DDE-связанные данные необходимо переключиться (или запустить заново) приложение-сервер, содержащее исходные данные. В лучшем случае такая процедура просто неудобна, а в худшем – создаются вполне конкретные труд- ности, связанные с необходимостью помнить имя приложения-сервера, а так- же документа, и местоположения в нем, исходных данных. Решением этой проблемы явилось создание корпорацией Microsoft тех- нологии OLE – связывание и внедрение объектов. 10.3. Связывание и внедрение объектов (OLE ) Основу технологии OLE составляет COM (Component Object Model) – Модель компонентного объекта. COM является стандартом двоичного интер- фейса объектов Microsoft Windows. Она предоставляет пользователям воз- можность создавать составные документы (compound documents). Такие до- кументы представляют собой файлы, которые содержат данные более чем из одного приложения. Чтобы создать такой документ, необходимо иметь контейнер и сервер. Контейнером является приложение, в документ которого вставляются данные из другого приложения – сервера. При помощи технологии OLE дан- ные, вставляемые из документа серверного приложения, появляются в контейнерном (клиентском) документе как объект (или, компонент). Хранение информации в составном документе дает возможность поль- зователю сосредоточиться на содержании самого документа, а не распылять внимание на нюансы каждого приложения, используемого для его создания. Поскольку объекты в составных документах иногда требуют редактирования, то двойной щелчок мышью по одному из них вызывает автоматический запуск приложения-сервера, и отображение в нем соответствующих данных. При этом пользователю совершенно не обязательно помнить, какое приложение и какой файл является источником данных – OLE делает взаимодействие между приложениями более простым и наглядным. Каждый объект может быть вставлен в контейнерный документ одним из двух способов – путем его связывания, или внедрения. При связывании компонент располагается вне составного документа. В составном документе хранится только ссылка (moniker), указывающая на местонахождение связанного компонента. Внедренный же объект хранится внутри составного документа. Идею свя- зывания и внедрения объектов наглядно демонстрирует следующий рисунок: 229 Документ Документ Объект Документ Объект Объект Исходное состояние Внедрение Связывание И связанный, и внедренный объект хранят помимо имени самого сервера OLE, также всю необходимую информацию, в которой он может нуждаться. Создание составного документа рассмотрим на примере вставки в текстовый документ Microsoft Word (контейнер) следующей таблицы Microsoft Excel (сервер): Связывание объектов Для связывания текстового документа Microsoft Word и электронной табли- цы MExcel необходимо выполнить следующую последовательность действий: 1. Щелкнуть в том месте текстового документа MWord, где должна появиться таблица. 2. Выполнить команду Вставка → Объект. 3. В раскрывшемся окне диалога Вставка объекта: а) Выбрать вкладку Создание из файла. б) В поле редактирования Имя файла – ввести имя файла, содержащего объект, одним из двух способов: вручную, или нажав кнопку Обзор, и в раскрывшемся окне диалога Об- зор, аналогичном стандартному окну диалога Открытие документа, указать требуемый файл. 230 в) Выставить флажок Связь с файлом. г) Нажать кнопку OK. В результате в текстовом документе Microsoft Word появится изображе- ние вставленной таблицы. При внесении изменений в файл электронной таблицы, они также автома- тически будут отражены и в документе MWord. Для того чтобы отредактировать вставленную таблицу по ней необходимо произвести двойной щелчок мышью. При этом в отдельном окне будет открыто создавшее ее приложение – MExcel. Обычно OLE может поддерживать связь, даже если исходный документ MExcel будет перемещен или переименован. Если же файл таблицы удалить с диска, документ Microsoft Word по-прежнему будет содержать ее изображе- ние, но возможность редактирования этой таблицы будет утрачена. Связывание в документах целесообразно в том случае, если планируется использовать связываемый файл во многих документах. При этом вне- сенные в него изменения будут автоматически отражаться во всех доку- ментах, с которыми он был связан. Связывание не вызывает чрезмерного уве- личения размеров составного документа, поскольку в последнем сохраняются лишь сведения о расположении связанного объекта, и немного дополнитель- ной информации. Внедрение объектов Внедрение объектов подобно их связыванию, но при этом создается ав- тономная копия объекта, которая и помещается в составной документ. Между 231 сервером и контейнером не устанавливается никакой связи, поскольку в этом нет необходимости. При этом документ контейнера содержит не только дан- ные, но и всю информацию, относящуюся к серверному приложению, такую как имя приложения, структура файла, коды форматирования и т.д. Для того чтобы внедрить приведенную выше таблицу Microsoft Excel в текстовый документ Microsoft Word необходимо выполнить туже, что и при свя- зывании, последовательность действий, только на вкладке Создание из файла окна диалога Вставка объекта флажок Связь с файлом необходимо сбросить. По внешнему виду таблицы MExcel в составном документе MWord нельзя определить, связан этот объект с документом или внедрен в него. Эти отличия можно будет увидеть, если сделать двойной щелчок на дан- ном объекте с целью его редактирования. При этом окно документа MExcel будет раскрыто внутри окна документа Microsoft Word в специальной рамке, а их меню и панели инструментов объединятся, как показано на рисунке далее: Изменения, которые будут сделаны в этом документе, не затронут ис- ходного файла, данные из которого были внедрены в документ. Эти изменения коснутся только локальной копии исходного документа Microsoft Excel, кото- рая стала частью документа Microsoft Word. Внедрение объектов в документ следует проводить в том случае, если планируется создать составной документ и в дальнейшем работать с ним, как единым целым, не обращаясь более к файлам отдельных составляющих его частей. Любое выполненное в документе изменение не повлияет на ос- тальные файлы, в том числе и те, копии которых были помещены в состав- ной документ. Внедрение значительно увеличивает размеры файлов состав- ных документов, но всегда имеется возможность удалить оригиналы вне- дренных объектов, освободив тем самым пространство на диске. Вставка части документа Довольно часто возникает задача вставить в составной документ не весь документ серверного приложения, а лишь некоторую его часть. |