Press "Enter" to skip to content

OLE и DDE и их использование в Office

Окно буфера обмена. Для работы с буфером обмена Windows предлагает специальную программу — Просмотр буфера обмена, которую можно вызвать из Главного меню ? Программы ? Стандартные (в Windows 2000 Окно буфера обмена переименовано в Папку обмена, которая вызывается командой clipbrd). Во-первых, окно этой программы — это настоящее «зеркало» буфера обмена, отображающее теку­щее содержимое Clipboard. Во-вторых, это приложение позволяет записать содержимое буфера обмена на постоянное хранение в файл специального формата (с расширением .CLP) и прочитать такой файл в буфер. Это нужно для обмена файлами разных форматов так как всякая версия ОС Windows может прочитать любые файлы с расширением .CLP

Как получить доступ к объектам взаимодействия Office

В C# предусмотрены функции, которые упрощают доступ к объектам API Office. К новым функциям относятся именованные и необязательные аргументы, новый тип dynamic , а также возможность передавать аргументы ссылочным параметрам в методах COM, как если бы они были параметрами значений.

В этой статье вы используете новые функции для написания кода, который создает и отображает лист Microsoft Office Excel. Вы пишете код для добавления документа Office Word, содержащего значок, связанный с листом Excel.

Для выполнения данного пошагового руководства на компьютере должны быть установлены Microsoft Office Excel 2007 и Microsoft Office Word 2007 или более поздние версии продуктов.

Отображаемые на компьютере имена или расположения некоторых элементов пользовательского интерфейса Visual Studio могут отличаться от указанных в следующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Персонализация среды IDE.

VSTO использует платформа .NET Framework. Надстройки COM также могут быть написаны с помощью платформа .NET Framework. Надстройки Office нельзя создавать с помощью .NET Core и .NET 5+, последних версий .NET. Это связано с тем, что .NET Core/.NET 5+ не может работать вместе с платформа .NET Framework в одном процессе и может привести к сбоям загрузки надстройки. Вы можете продолжать использовать платформа .NET Framework для написания надстроек VSTO и COM для Office. Корпорация Майкрософт не будет обновлять VSTO или платформу надстроек COM для использования .NET Core или .NET 5+. Вы можете воспользоваться преимуществами .NET Core и .NET 5+, включая ASP.NET Core, для создания серверных надстроек Office Web.

Создание нового проекта консольного приложения

  1. Запустите Visual Studio.
  2. В меню Файл последовательно выберите команды Создатьи Проект. Откроется диалоговое окно Новый проект .
  3. В области Установленные шаблоны разверните C#, а затем выберите Windows.
  4. В верхней части диалогового окна Новый проект выберите платформа .NET Framework 4 (или более поздней версии) в качестве целевой платформы.
  5. Выберите панель Консольное приложение в области Шаблоны.
  6. Введите имя проекта в поле Имя.
  7. Щелкните ОК.

В обозревателе решений появится новый проект.

Добавление ссылок

  1. В Обозреватель решений щелкните правой кнопкой мыши имя проекта и выберите Добавить ссылку. Откроется диалоговое окно Добавление ссылки.
  2. На странице Сборки выберите Microsoft.Office.Interop.Word в списке Имя компонента , а затем, удерживая нажатой клавишу CTRL, выберите Microsoft.Office.Interop.Excel. Если сборки не отображаются, их может потребоваться установить. См. практическое руководство по установке основных сборок взаимодействия Microsoft Office.
  3. Щелкните ОК.

Добавление необходимых директив using

В Обозреватель решений щелкните правой кнопкой мыши файл Program.cs и выберите Просмотреть код. В начало файла кода добавьте следующие директивы using :

using Excel = Microsoft.Office.Interop.Excel; using Word = Microsoft.Office.Interop.Word; 

Создание списка банковских счетов

Вставьте следующее определение класса в файл Program.cs в класс Program .

public class Account < public int ID < get; set; >public double Balance < get; set; >> 

Чтобы создать список bankAccounts , содержащий два счета, добавьте в метод Main следующий код.

// Create a list of accounts. var bankAccounts = new List < new Account < Balance = 541.27 >, new Account < Balance = -127.44 >>; 

Объявление метода, экспортирующего сведения о счетах в Excel

  1. Чтобы настроить лист Excel, добавьте в класс Program следующий метод. У метода Add есть необязательный параметр для указания конкретного шаблона. Необязательные параметры позволяют опустить аргумент для этого параметра, если вы хотите использовать значение параметра по умолчанию. Так как аргумент не был задан, Add используется шаблон по умолчанию и создается новая книга. В эквивалентном операторе в более ранних версиях C# необходимо было использовать аргумент-местозаполнитель ExcelApp.Workbooks.Add(Type.Missing) .
static void DisplayInExcel(IEnumerable accounts) < var excelApp = new Excel.Application(); // Make the object visible. excelApp.Visible = true; // Create a new, empty workbook and add it to the collection returned // by property Workbooks. The new workbook becomes the active workbook. // Add has an optional parameter for specifying a particular template. // Because no argument is sent in this example, Add creates a new workbook. excelApp.Workbooks.Add(); // This example uses a single workSheet. The explicit type casting is // removed in a later procedure. Excel._Worksheet workSheet = (Excel.Worksheet)excelApp.ActiveSheet; >

Добавьте в конец метода DisplayInExcel следующий код. Этот код вставляет значения в первые два столбца первой строки листа.

// Establish column headings in cells A1 and B1. workSheet.Cells[1, "A"] = "ID Number"; workSheet.Cells[1, "B"] = "Current Balance"; 

Добавьте в конец метода DisplayInExcel следующий код. Цикл foreach помещает сведения из списка счетов в первые два столбца последовательных строк листа.

 var row = 1; foreach (var acct in accounts)

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

workSheet.Columns[1].AutoFit(); workSheet.Columns[2].AutoFit(); 

В более ранних версиях C# требовалось явное приведение типов для этих операций, поскольку ExcelApp.Columns[1] возвращает тип Object , а метод AutoFit является методом Excel Range. Приведение показано в следующих строках.

((Excel.Range)workSheet.Columns[1]).AutoFit(); ((Excel.Range)workSheet.Columns[2]).AutoFit(); 

C# преобразует возвращенный Object в автоматический, если на сборку dynamic ссылается параметр компилятора EmbedInteropTypes или, эквивалентно, если свойство Excel Embed Interop Types имеет значение true. True является значением по умолчанию для этого свойства.

Запуск проекта

Добавьте в конец метода Main следующую строку.

// Display the list in an Excel spreadsheet. DisplayInExcel(bankAccounts); 

Нажмите клавиши CTRL+F5. Появится книга Excel, содержащая данные о двух счетах.

Добавление документа Word

Следующий код открывает приложение Word и создает значок, который ссылается на лист Excel. Вставьте метод CreateIconInWordDoc , указанный далее в этом шаге, в класс Program . CreateIconInWordDoc использует именованные и необязательные аргументы, чтобы упростить вызовы методов Add и PasteSpecial. Эти вызовы включают две другие функции, упрощающие вызовы com-методов, имеющих ссылочные параметры. Во-первых, аргументы можно передать в ссылочные параметры, как если бы они были параметрами значений. Это значит, что значения можно передавать напрямую без создания переменной для каждого ссылочного параметра. Компилятор создает временные переменные для хранения значений аргументов и уничтожает эти переменные после завершения вызываемого метода. Во-вторых, ключевое слово ref в списке аргументов можно опустить.

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

Метод PasteSpecial вставляет содержимое буфера обмена. У метода имеется семь ссылочных параметров, все из которых являются необязательными. Следующий код задает аргументы для двух из них: Link для создания ссылки на исходное содержимое буфера и DisplayAsIcon для отображения ссылки в виде значка. Для этих двух аргументов можно использовать именованные аргументы и опустить остальные. Хотя эти аргументы являются ссылочными параметрами, вам не нужно использовать ключевое ref слово или создавать переменные для отправки в качестве аргументов. Значения можно передать напрямую.

static void CreateIconInWordDoc() < var wordApp = new Word.Application(); wordApp.Visible = true; // The Add method has four reference parameters, all of which are // optional. Visual C# allows you to omit arguments for them if // the default values are what you want. wordApp.Documents.Add(); // PasteSpecial has seven reference parameters, all of which are // optional. This example uses named arguments to specify values // for two of the parameters. Although these are reference // parameters, you do not need to use the ref keyword, or to create // variables to send in as arguments. You can send the values directly. wordApp.Selection.PasteSpecial( Link: true, DisplayAsIcon: true); >

Добавьте в конец метода Main следующую инструкцию.

// Create a Word document that contains an icon that links to // the spreadsheet. CreateIconInWordDoc(); 

Добавьте в конец метода DisplayInExcel следующую инструкцию. Метод Copy добавляет лист в буфер обмена.

// Put the spreadsheet contents on the clipboard. The Copy method has one // optional parameter for specifying a destination. Because no argument // is sent, the destination is the Clipboard. workSheet.Range["A1:B3"].Copy(); 

Нажмите клавиши CTRL+F5. Появится документ Word, содержащий значок. Дважды щелкните значок, чтобы отобразить лист на переднем плане.

Задание свойства “Внедрить типы взаимодействия”

Дополнительные улучшения возможны при вызове com-типа, который не требует первичной сборки взаимодействия (PIA) во время выполнения. Избавление от зависимостей от PIA приводит к независимости версий и делает развертывание более простым. Дополнительные сведения о преимуществах программирования без основных сборок взаимодействия см. в руководстве по внедрению типов из управляемых сборок.

Кроме того, программирование проще, так как dynamic тип представляет обязательные и возвращаемые типы, объявленные в com-методах. Переменные с типом dynamic вычисляются только во время выполнения, что устраняет необходимость явного приведения. Дополнительные сведения см. в разделе Использование типа dynamic.

Внедрение сведений о типе вместо использования PIA является поведением по умолчанию. Из-за этого по умолчанию несколько предыдущих примеров упрощены. Явное приведение не требуется. Например, объявление worksheet в методе DisplayInExcel записывается как Excel._Worksheet workSheet = excelApp.ActiveSheet , а не как Excel._Worksheet workSheet = (Excel.Worksheet)excelApp.ActiveSheet . Вызовы AutoFit в том же методе также потребуют явного приведения без значения по умолчанию, так как ExcelApp.Columns[1] возвращает Object , и AutoFit является методом Excel. Приведение показано в следующем примере.

((Excel.Range)workSheet.Columns[1]).AutoFit(); ((Excel.Range)workSheet.Columns[2]).AutoFit(); 

Чтобы изменить значение по умолчанию и использовать PIA вместо внедрения сведений о типе, разверните узел Ссылки в Обозреватель решений, а затем выберите Microsoft.Office.Interop.Excel или Microsoft.Office.Interop.Word. Если окно Свойства не отображается, нажмите клавишу F4. В списке свойств найдите свойство Внедрить типы взаимодействия и измените его значение на False. Также можно выполнить компиляцию с помощью командной строки с использованием параметра компилятора References вместо EmbedInteropTypes.

Дополнительное форматирование таблицы

Замените два вызова AutoFit в методе DisplayInExcel следующей инструкцией.

// Call to AutoFormat in Visual C# 2010. workSheet.Range["A1", "B3"].AutoFormat( Excel.XlRangeAutoFormat.xlRangeAutoFormatClassic2); 

У метода AutoFormat имеется семь параметров значений, и все они являются необязательными. Именованные и необязательные аргументы позволяют задать аргументы для всех параметров, их части или ни для одного параметра. В предыдущей инструкции вы указали аргумент только для одного из параметров , Format . Так как Format является первым параметром в списке параметров, указать имя параметра не требуется. Однако оператор может быть проще понять, если включить имя параметра, как показано в следующем коде.

// Call to AutoFormat in Visual C# 2010. workSheet.Range["A1", "B3"].AutoFormat(Format: Excel.XlRangeAutoFormat.xlRangeAutoFormatClassic2); 

Нажмите сочетание клавиш CTRL + F5, чтобы увидеть результат. Другие форматы можно найти в перечислении XlRangeAutoFormat .

Пример

Ниже приведен полный пример кода.

using System.Collections.Generic; using Excel = Microsoft.Office.Interop.Excel; using Word = Microsoft.Office.Interop.Word; namespace OfficeProgramminWalkthruComplete < class Walkthrough < static void Main(string[] args) < // Create a list of accounts. var bankAccounts = new List< new Account < Balance = 541.27 >, new Account < Balance = -127.44 >>; // Display the list in an Excel spreadsheet. DisplayInExcel(bankAccounts); // Create a Word document that contains an icon that links to // the spreadsheet. CreateIconInWordDoc(); > static void DisplayInExcel(IEnumerable accounts) < var excelApp = new Excel.Application(); // Make the object visible. excelApp.Visible = true; // Create a new, empty workbook and add it to the collection returned // by property Workbooks. The new workbook becomes the active workbook. // Add has an optional parameter for specifying a praticular template. // Because no argument is sent in this example, Add creates a new workbook. excelApp.Workbooks.Add(); // This example uses a single workSheet. Excel._Worksheet workSheet = excelApp.ActiveSheet; // Earlier versions of C# require explicit casting. //Excel._Worksheet workSheet = (Excel.Worksheet)excelApp.ActiveSheet; // Establish column headings in cells A1 and B1. workSheet.Cells[1, "A"] = "ID Number"; workSheet.Cells[1, "B"] = "Current Balance"; var row = 1; foreach (var acct in accounts) < row++; workSheet.Cells[row, "A"] = acct.ID; workSheet.Cells[row, "B"] = acct.Balance; >workSheet.Columns[1].AutoFit(); workSheet.Columns[2].AutoFit(); // Call to AutoFormat in Visual C#. This statement replaces the // two calls to AutoFit. workSheet.Range["A1", "B3"].AutoFormat( Excel.XlRangeAutoFormat.xlRangeAutoFormatClassic2); // Put the spreadsheet contents on the clipboard. The Copy method has one // optional parameter for specifying a destination. Because no argument // is sent, the destination is the Clipboard. workSheet.Range["A1:B3"].Copy(); > static void CreateIconInWordDoc() < var wordApp = new Word.Application(); wordApp.Visible = true; // The Add method has four reference parameters, all of which are // optional. Visual C# allows you to omit arguments for them if // the default values are what you want. wordApp.Documents.Add(); // PasteSpecial has seven reference parameters, all of which are // optional. This example uses named arguments to specify values // for two of the parameters. Although these are reference // parameters, you do not need to use the ref keyword, or to create // variables to send in as arguments. You can send the values directly. wordApp.Selection.PasteSpecial(Link: true, DisplayAsIcon: true); >> public class Account < public int ID < get; set; >public double Balance < get; set; >> > 

См. также

  • Type.Missing
  • dynamic
  • Именованные и необязательные аргументы
  • Использование именованных и необязательных аргументов в программировании приложений Office

OLE и DDE и их использование в Office

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

Часть 1. Буфер обмена 4

Часть 2. Непосредственный обмен данными 8

Глава 2.1. Экспорт-Импорт данных. 8

Глава 2.3. Динамический обмен данными (DDE). 9

Глава 3.1. Объектно-ориентированная технология 13

Глава 3.2. Модель компонентного объекта (COM) 17

Глава 3.3. Архитектура OLE 19

Глава 3.4. Типы и библиотеки типов 24

Часть 4. Использование OLE в Office 31

Глава 4.1. Связывание 32

Глава 4.2. Внедрение 34

Введение

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

Каждый документ имеет формат, который определяется приложением (программой), создавшим этот документ. Расширение файла соответствует определенному формату. Документы созданные одним приложением почти всегда имеют один формат. Например, Word *.doc Excel *.xls PowerPoint *.ppt и т.д.

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

Итак, можно сказать, что пользователи персонального компьютера имеют дело с различными данными, хранящимися в документах всевозможных форматов. Конечно эта схема не совсем подходит к реальной обстановке вещей, так как в жизни обычно человек работает не с одним типом данных а с множеством. Например, социолог, составляя отчет о проделанной работе, вынужден использовать несколько типов данных: текст, числа, рисунки, диаграммы, презентации и т.д. Поэтому возникла следующая проблема – Как в одном документе соединить данные различных типов? Без применения специальных компьютерных технологий этот вопрос остается не разрешимым.

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

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

В основной части работы рассмотрены три основных метода обмена данными между документами, а в последней части показано как действует технология OLE в популярном пакете Microsoft Office.

Часть 1. Буфер обмена

Во время своей работы операционная система (OC) Windows выделяет специальную область памяти — буфер обмена (Clipboard), который используется для обмена данными между приложениями и документами. Роль данных могут играть фрагмент текста или весь текст, рисунок, таблица и т. п. Буфер обмена — это простейшее, но очень эффективное средство интеграции при­ложений. В ОС Windows через буфер обмена можно пере­мещать папки с файлами и отдельные файлы.

Принцип работы с буфером обмена. С помощью инструмен­тальных средств конкретного приложения можно выде­лить определенный фрагмент обрабатываемого документа (т. е. участок текста, изображение, таблицу) и поместить его на хранение (записать) в буфер обмена. Записанный в буфере фрагмент можно вставить либо в другое место того же доку­мента, либо в другой документ того же приложения, либо в документ другого приложения. Например, можно пере­местить картинку (или фрагмент картинки), нарисованную вами в графическом редакторе, в любое место документа Word или Excel.

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

Работа с буфером обмена. Во всех приложениях Windows, до­пускающих использование буфера обмена, схема работы с ним стандартизована. Для обмена предусмотрены команды пункта меню Правка:

Вырезать — переместить выделенный фрагмент в буфер обмена (и удалить его в исходном документе);

Копировать – скопировать выделенный фрагмент в буфер обмена (исходный документ не меняется);

Вставить – вставить содержимое буфера обмена в теку­щий документ приложения (содержимое буфера не изме­няется).

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

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

Кратко рассмотрим операции: Вырезать, Копировать и Вставить.

1. Документ ? буфер обмена. Перед выполнением команд – Вырезать или Копировать необходимо выделить фраг­мент, помещаемый в буфер обмена. Если фрагмент не вы­делен, эти команды недоступны. Способы выделения фрагмента определяются соглашениями конкретной про­граммы, однако существуют и универсальные приемы. Следует отметить, что в команде Вырезать совмещены две стандартных операции: удале­ние выделенного фрагмента и заполнение буфера обмена. Поэто­му эта команда более «опасна», чем команда Копиро­вать.

2. Буфер обмена ? документ. Если буфер обмена пуст (то есть с момента старта Windows команды Вырезать или Копиро­вать не выполнялась или буфер очищен специальной командой), операция Вставить недоступна.

Существует еще много способов заполнения буфера обмена, например, в ОС Windows есть следующая интересная возможность. Если, работая в операционной системе, нажать клавишу Print-Screen, графический образ всего экрана в виде растровой картинки будет скопирован в буфер обмена. Затем мо­жно вставить эту картинку в документ какого-либо редактора (например, Word), отредактиро­вать, если необходимо, и записать в файл. Если нажать клавиши Alt+PrintScreen, в буфер обмена ко­пируется только активное окно.

Куда вставляется фрагмент по команде Вставить? Точка вставки определяется соглашениями конкретной программы и характером информации, помещенной в буфер обмена. Например, редактор презентаций PowerPoint вставляет графи­ческий фрагмент в центр слайда, давая тем самым возможность вручную переместить новый элемент изображения в нужное место. Однако текстовый фрагмент практически всегда вставляется в позицию текстового курсо­ра. Процессор Word любой фрагмент вставляет в позицию текстового курсора.

Окно буфера обмена. Для работы с буфером обмена Windows предлагает специальную программу — Просмотр буфера обмена, которую можно вызвать из Главного меню ? Программы ? Стандартные (в Windows 2000 Окно буфера обмена переименовано в Папку обмена, которая вызывается командой clipbrd). Во-первых, окно этой программы — это настоящее «зеркало» буфера обмена, отображающее теку­щее содержимое Clipboard. Во-вторых, это приложение позволяет записать содержимое буфера обмена на постоянное хранение в файл специального формата (с расширением .CLP) и прочитать такой файл в буфер. Это нужно для обмена файлами разных форматов так как всякая версия ОС Windows может прочитать любые файлы с расширением .CLP

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

Расширение функций буфера обмена. Приложения Windows устроены таким образом, что буфер обмена часто оказывается полезным даже тогда, когда никаких команд работы с буфе­ром не предусмотрено. Дело в том, что механизмы выделе­ния, копирования, вставки фрагментов документа (особенно текстовых) чаще всего встроены в приложение, и клавиатур­ные сочетания Ctrl+Ins и Shift+Ins работают всегда, не­зависимо от функций приложения.

Тем самым гибкость такой системы при обмене информацией между базой данных системы и внешними носителями информации значительно расширяется. Например, в системе может отсутствовать функция вставки готового текстового файла в базу данных (файл ? база данных), однако пользова­телю не придется заново набирать такой файл. Достаточно открыть его (например, в приложении Word), скопиро­вать в буфер обмена, а затем вставить данный фрагмент в нужное окно системы.

Часть 2. Непосредственный обмен данными

Средства непосредственного обмена данными между прило­жениями Windows можно разделить на три категории:

конвертирование (преобразование) файлов,

импорт и экс­порт данных,

динамический обмен данными (DDE — Dy­namic Data Exchange).

Глава 2.1. Экспорт-Импорт данных.

Конвертированием обычно называют изменение формата файла-документа или его части. При конвертировании файл-документ определенного типа, подготовленный средствами некоего приложения (возможно, в другой операционной системе) преобразуется приложением Windows в файл-документ того же (или при­мерно того же) типа. Операция конвертирования достаточно сложна и не удобна для рядового пользователя. К тому же результаты не всегда получаются ожидаемыми, так как любое преобразование, в том числе и формата, влечет за собой потери.

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

Примерами импорта-экспорта являются: Файл .DBF (dBASE) ? Рабочий лист Excel (.XLS), База данных Access (.MDB) ? Документ Word.

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

Глава 2.3. Динамический обмен данными (DDE).

DDE – это разработанный Microsoft набор специальных соглашений (протокол) об об­мене данными между приложениями Windows.

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

Попытаемся пояснить суть этого метода связывания на простом при­мере. Допустим, требуется составить документ, содержащий сведения о различных программных и аппаратных продуктах (как минимум, краткое описание и цена). Очевидно, что подготовить данный документ необходимо с помощью текстового редактора, например Word. Представим, что подлежащие внесению в документ сведения о продук­тах и их ценах уже существуют в базе данных, которая управляется некоторым Windows-приложением, например Access. Для ускорения процесса подготовки документа разумно по уже известной методике передать необходимые сведения из базы данных в буфер обмена (Clipboard). Однако вполне возможно, что через некоторое время цены изменятся. При старой методике (через буфер) это приведет к необ­ходимости подготовить документ заново.

Использование DDE-метода позволяет избежать этого, так как обеспечивает динамический обмен данными и обновление их в подготавливае­мом документе по мере их изменения в источнике. При таких условиях «выходной» документ всегда будет «первой свежести».

Каким же образом происходит актуализация (динамическое обнов­ление данных в выходном документе)? Разберемся сначала с происхож­дением обновляемых данных. Они находятся в документе-источнике и хранятся там приложением-источником. Сохранение документа источника и лежит в основе функционирования DDE-метода. Из сохраненного документа-источника требуемые сведения копируются через Clipboard в выходной документ. Процедура этого копирования нам знакома.

Особенность состоит в том, что DDE-метод устанавливает между источником и копиями некоторую связь. И связь эта обеспечивает авто­матическое (или по требованию) обновление копии по мере появления изменений в источнике.

Многие Windows-приложения поддерживают методику DDE как для создания источников связывания, так и для восприятия динамически обновляемых данных. Но при практическом применении DDE-метода следует учитывать ряд требований. Первое и наиболее важное состоит в том, что приложения, подлежащие связыванию, должны поддерживать DDE-метод. Важным является также определение, в каком качестве данное приложение будет существовать в DDE: в качестве источника или приемника. Не все приложения можно использовать в обоих качествах.

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

Рассмотрим способ актуализации без открытия окна. Допустим, что у нас существуют два документа (Источник и Приемник) Word и между ними существует связь посредством DDE. Предположим, что мы открыли документ Источник и изменили его, затем закрыли окно текстового редактора. Поскольку мы закрыли окно Word, то внесенное изменение осталось теперь только в файле источника на диске. Далее опять запустим Word и загрузим в него оставшийся неизменным файл документа Приемника. Хотя во время внесения изменений в текст, окно приемника было закрыто, целевой Word-документ предстает в актуализированном виде. Это произошло потому, что связь в DDE методе осуществляется не через окна, а через файлы.

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

Сейчас DDE вытеснено более новой технологией OLE, которая широко используется в Windows приложениях (об OLE речь пойдет в следующей главе). Однако все же в ряде случаев DDE применяется. На сегодняшний день в DDE можно выделить два уровня:

В некоторых приложениях Windows избранные опера­ции DDE встроены в интерфейс программы. Например, в процессоре Word имеется возможность решить следую­щую задачу. Пусть имеется документ Word, и в этом до­кументе содержится текст «серийного» письма, которое необходимо разослать по нескольким адресам. В этом письме имеются переменные поля с фами­лией адресата и его адресом. Фамилии и адреса содержат­ся в базе данных MS Access. Надо изготовить несколько экземпляров одного и того же письма, каждый из кото­рых будет отличаться от другого фамилией и адресом. Эту операцию можно выполнить с помощью команды Сервис-Слияние. (Tools-Mail Merge. ).

Второй уровень DDE требует знания некоторых про­граммных средств и может быть использован квалифици­рованными пользователями или программистами. Суть этого уровня проиллюстрируем примером. Допустим, программист разработал информационную систе­му, в которой предусмотрено автоматизированное составле­ние расписания каких-то мероприятий (например, встреч, конференций, семинаров и т. п.). Это расписание надо краси­во напечатать (с указанием дат, дней недели, колонтитулов и т. п.). Лучше всего справится с этой задачей процессор Word. Поэтому программист заготовил в процессоре Word некий шаблон расписания и снабдил его закладками.

Итак, можно сказать, что с появлением метода DDE возник качественный скачек в продвижении технологии связывания и совместного использования документов. Но все же остались некоторые недочеты, которые в своем большинстве были исправлены схемой OLE.

Часть 3. OLE

Глава 3.1. Объектно-ориентированная технология

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

Зачем нужна ОО технология? Стремительный прогресс аппаратных технологий дал рядовому потребите­лю огромную вычислительную мощь. Приобретая новое программное обеспече­ние, люди желают получить новые свойства и более сложные функции; они хотят воспользоваться преимуществами тех вычислительных средств, которыми располагают. Стремясь соответствовать этим запросам объем многих прикладных программ вырос до нескольких сотен мегабайт. Это привело к появлению чрезмерно сложных и громоздких систем, которые обычно:

выходят с опозданием;

имеют непомерно высокие цены;

используются эффективно лишь в небольшой своей части;

плохо адаптируются к требованиям пользователя;

нуждаются в устранении выявленных ошибок и доработки;

требуют определенного опыта для своей инсталляции.

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

Что такое ОО технология? Объектно-ориентированная технология – это термин, за которым скрывается ряд новых методологий анализа, проектирования и программи­рования. При использовании ОО технологии анализ, проектирование и разработка системы проводятся с помощью объектов. Под объектом пони­мается “разумный”, самодостаточный агент, отвечающий за выполнение определенных системных задач.

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

Алгоритмическая декомпозиция — это способ решения проблемы с функциональ­ной точки зрения. При алгоритмической декомпозиции все внимание сосредо­точено на том, какие преобразования необходимо выполнить над данными без учета их семантической связи.

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

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

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

Что такое объекты? Объект в ОО технологиях определяется следующим образом:

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

Объекты являются автономными программными модулями, которым присуши некоторое состояние на данный момент и определенное поведение. Состояние объекта — это его внутренние, то есть закрытые, данные и скрытые детали его реализации. Общедоступный интерфейс формирует поведение объ­екта. Он определяет, что объект может делать. Интерфейс реализован как набор функций, называемых методами. На схеме 3.1 в общем виде изобра­жены два объекта — А и В. У каждого есть некоторые закрытые данные и общедоступный интерфейс. В этом примере объект А вызывает метод интер­фейса объекта В. В общем случае объекты обмениваются сообщениями, вызы­вая методы друг друга.

Закрытые данныеЗакрытые данныеВзаимодействиеОбъект АОбъект ВСхема 3.1

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

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

Глава 3.2. Модель компонентного объекта (COM)

Модель компонентного объекта (Component Object Model — COM) — это вклад компании Microsoft в мир объектных моделей. Она служит основой для OLE, поэтому понимание ее чрезвычайно важно.

Что такое СОМ. СОМ представляет собой стандартную объектную модель промышленно­го уровня, которая унифицирует системы объектов. Эта модель специфици­рует следующее:

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

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

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

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

Модель “клиент-сервер”. СОМ поддерживает простую модель “клиент-сервер”. Объекты, называе­мые серверами, предоставляют некие функции в распоряжение объектов, называемых клиентами. Серверы всегда являются СОМ-объектами, то есть объектами, которые подчиняются спецификации СОМ. С другой стороны, клиенты могут быть СОМ-объектами или не быть таковыми. Это значит, что некоторые объекты могут быть простыми объектами C+ + , приложениями Visual Basic и т.п. На следующем рисунке представлена не сложная модель “клиент-сервер”.

СервисыOLE сервер АVBAOLE сервер ХOLE сервер АОбъект С++СерверыКлиенты

СОМ интерфейсы. Клиенты и СОМ-серверы общаются друг с другом при помощи интер­фейсов. Интерфейсы — это группы функций, которыми СОМ-объекты обычно пользуются для взаимодействия друг с другом и своими клиентами. Как было показано в главе посвященной ОО технологии, проявление функциональных возможностей посредством интерфейса — это фундаментальная концепция объектно-ори­ентированного программирования. Используя исключительно интерфейсы, СОМ поддерживает логическую абстракцию и неуклонно проводит в жизнь строгую инкапсуляцию.

СОМ-серверы могут одновременно иметь несколько интерфейсов (как правило, так и бывает). Каждый интерфейс предоставляет набор функ­ций, отличный от других.

Глава 3.3. Архитектура OLE

Архитектура OLE (object linking and embeding) основана на модели компонентного объекта (СОМ). Сама OLE является унифицирующей технологией системного уровня, которая бази­руется на объектах и реализует интеграцию приложений. Она предоставляет клиентам набор объектно-ориентированных услуг. Можно сказать, что, с практической точки зрения, OLE — это набор системных библиотек (DLL-фай­лов), которые дают возможность прикладным программам взаимодействовать друг с другом. OLE является внутренней неотъемлемой частью операционной системы Windows, а не подсисте­мой. Например, в папке SYSTEM или SYSTEM32 на сетевом диске компьютера можно найти дюжину или даже больше файлов OLExxx.DLL. Это — составляет ядро OLE.

В OLE изначально заложена возможность расширения. Однако, в будущем не планируется новых “выпусков” в традиционном смысле этого слова. Так как когда компания Microsoft добавят в базовую архитектуру новые функции, она не станет называться OLE 2.2 или OLE 3.0. Она останется просто OLE.

OLE состоит из нескольких различных технологий, которые пользуются услугами друг друга для формирования объектно-ориентированной системы. Каждая технология реализует определенный набор функций. Однако реальная сила OLE заключается именно во взаимодействии составляющих ее технологий. OLE-технология структурированного хранения, к примеру, позволяет приложениям реализовать постоянство объектов. При этом поль­зователь не знает, как библиотеки OLE реализуют детали этой технологии, например, каким образом и где именно данные объекта должны быть записаны или считаны с диска. Большое преимущество OLE состоит в том, что ее можно расширить и настроить по своему желанию. Можно легко переопределить встроенные функции (путем реализации соответствующих стандартных СОМ-интерфейсов) и расширить набор доступных функции, создав собственные пользовательские интерфейсы.

Библиотеки OLE — это системные утилиты, посредством которых приложе­ния могут взаимодействовать друг с другом, получать совместный доступ к данным, а также вызывать функции друг друга

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

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

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

Компоненты взаимодействуют друг с другом посредством четко определенных интерфейсов.

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

Модель компонентного объекта (СОМ)Структурированное хранениеИнформация о типахПостоянные объектыУнифицированная передача данных Имена и привязкаСоединяемые объектыDrug-and-DropOLE автоматизацияЭлементы управления OLEСтраницы свойствСобытияСообщения об изменении свойствНепосредственная активизацияСвязываниеВстраиваниеСоставной документСхема 3.3

На данной схеме представлены OLE-технологии, которые тесно взаимосвязаны между собой и используют СОМ в качестве фунда­мента. Стрелками обозначается зависимость технологий, а точками возможное, но не обязательное использование.

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

Управление памятью. Чтобы зарезервировать область памяти, объект может вызывать любые доступные команды. Обычно при распределении памяти используются опе­раторы из C++. Однако, если объекту необходимо передать блок памяти посредством OLE, он должен использовать встроенные функции.

Структурированное хранение. Структурированное хранение — это термин, который используется для описания технологии, обеспечивающей постоянство объек­тов. По сути, структурированное хранение является механизмом, который СОМ-объекты используют для считывания своих данных и записи их на диск. Данные становятся “структурированными” благодаря тому, что биб­лиотеки OLE организуют их в виде логического файла. Эта технология сходна с тем, как файловая система организует файлы на жестком диске.

Два основных понятия, используемые в структурированном хранении, — это поток и хранилище. Хранилище является аналогом каталога файловой системы, а поток — аналогом файла. Хранилища могут содержать потоки и другие хранилища. В любой схеме структурированного хранения самое верхнее хранилище называется корневым. Оно представляет собой файл на диске (называемый структурированным файлом), который содержит логические хранилища и потоки более низкого уровня.

Технология структурированного хранения позволяет объектам логически организовать и систематизировать хранение своих данных. Каждое хранили­ще и поток являются “именованными блоками”, которые используются объектами для хранения различных данных. Библиотеки OLE обеспечивают необходимые для этого функции.

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

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

При помощи структурированного хранения OLE абстрагирует конкрет­ные детали физического хранения данных и передает большую часть функ­ций управления операционной системе. Это именно то, что делает с диском файловая система. Когда приложение хочет надолго сохранить некоторую информацию, оно открывает файл, записывает данные на диск и закрывает файл. В какой кластер и/или сектор были записаны данные? Обычно это не интересует простого пользователя. Все, что ему нужно, — это чтобы данные были сохранены в конкретном файле. Неважно, где он физически размещен. Таким образом, технология структурированного хранения — это, фактически, то же самое, что файловая система для диска.

Для реализации хранилищ и потоков библиотеки OLE используют СОМ-объекты. В хранилищах реализован интерфейс IStorage, а в потоках — интерфейс IStream. Чтобы приказать хранилищам и потокам выполнить некоторое действие, приложение получает указатель на интерфейс IStorage и/или IStream и вызывает соответствующие функции этих интерфейсов.

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

Глава 3.4. Типы и библиотеки типов

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

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

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

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

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

Когда составной документ записывается в постоянное хранилище, он прика­зывает всем своим СОМ-серверам сохранить себя в том же хранилище. Потом он передает каждому серверу указатель на поток ввода-вывода. Каждый сервер записывает свои данные в этот поток так, как считает нужным.

Унифицированная передача данных. Унифицированная передача данных (UDT) — это OLE-технология, которая позволяет объектам обмениваться информацией стандартным образом. Кроме определения стандартов для обмена данными, UDT позволяет объектам извещать заинтересованные стороны (другие объек­ты) о том, что данные изменились. Те клиенты, которых интересуют изменения данных, могут при этом предпринять соответствующие действия. Объекты, взаимодействующие при помощи UDT, могут находиться в одном или разных адресных пространствах. UDT заменяет устаревшую к настоящему времени технологию DDE (Динамический обмен данными).

Имеются два значительных преимущества в применении OLE-техноло­гии UDT по сравнению с традиционной технологией DDE и буфером обмена (clipboard):

UDT обеспечивает более подробное описание совместно используемых данных. В этой технологии для описания данных и среды, на которой эти данные располагаются, используются две структуры, FORMATETС и STGMEDIUM. Структура FORMATETC определяет обобщенный формат буфера обмена усовершенствованный таким образом, чтобы описывать целевое устройство (монитор, принтер, плоттер и т.д.), способ интерпре­тации данных (например, как уменьшенное или полноэкранное изобра­жение) и среду их хранения (например, оперативная память или диск).

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

Соединяемые объекты. Соединяемые объекты позволяют устанавливать двунаправленный канал связи между объектом и его клиентами. В стандартной модели OLE клиент совершает вызовы для доступа к функциям объекта. Объект, однако, может дополнительно передать одному или нескольким своим клиентам информацию, которая не была затребована в запросе. Объекты, которые поддерживают пересылку клиентам дополнительной ин­формации, называются соединяемыми. Соединяемые объекты называют так­же источниками советов, а клиентов — приемниками советов.

Технология Drag-and-Drop. OLE-технология Drag-and-Drop (“перетащить и отпустить”) определяет ви­зуальный, ориентированный на использование мыши способ обмена инфор­мацией с помощью буфера обмена. Посредством мыши пользователь может переносить информацию из одного объекта, который называется источником перетаскивания, в другой, называемый приемником перетаскивания. Объекты источника и приемника могут находиться в разных адресных пространствах. Технология Drag-and-Drop определяет строгий прото­кол взаимодействия, которого придерживаются источники и приемники.

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

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

Интерфейс IDispatch – это стандартный СОМ-интерфейс, который опреде­ляет функции автоматизации. Его должны реализовывать все серверы авто­матизации.

Составные документы. Составные документы, иногда называемые состав­ными файлами, интегрируют данные и объекты, созданные в различных приложениях, поддерживающих OLE. Такие документы могут содержать множество объектов других документов. Например, текстовый редактор Word, поддерживающий OLE, может получать таблицы и графики от программы обработки электронных таблиц, также поддерживающей OLE, скажем, Excel. Помимо объединения статической информации типа таблиц и графиков, составные документы могут также содержать “живые” данные, например звук, видео и анимацию.

Составные документы поддерживают следующие возможности:

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

Преобразование объектов. Объекты могут быть приведены к разным типам, чтобы разрешить использование одного и того же объекта различными прило­жениями. Например, объект одного типа электронных таблиц (Lotus 1-2-3) может быть преобразован в другой тип (Excel).

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

Связывание и встраивание объектов. Встраивание объектов — это возможность вставить объект в составной документ без сохранения ссылки на источник данных объекта. Например, можно встроить электронную таблицу Excel в документ Word. После этого объект, который находится в составном документе, будет полностью независим от первона­чального источника. Тогда изменения основного объекта не отразятся на встроенном объекте.

Посредством связывания объектов приложение поддерживает лишь связи с объектами, которые находятся в других приложениях. При активиз­ации связанного объекта библиотеки OLE отслеживают связь и вызывают ассоциированный объект. Например, документ Microsoft Word может содер­жать связь с таблицей Excel. Таблица и все ее данные полностью находятся в Excel, но могут быть использованы и в документе Word. Если первоначаль­ные данные таблицы изменятся, то эти изменения автоматически отобразят­ся в документе Word. Связывание зависит от расположения объектов. Другими словами, если таблицу Excel переместить в новую папку, связь будет разорвана.

Имена, псевдонимы и привязка. У объекта может быть имя. В таком случае OLE использует это имя для идентификации и обращения к объекту. Псевдонимами называются СОМ-объекты, в которых хранятся имена и местоположения других объектов. Получив соответствующие указания, псевдонимы опреде­ляют местоположение объектов, на которые ссылаются, и вызывают их. Этот процесс поиска и вызова объекта называется привязкой. OLE использует псевдонимы для поддержания связи с источниками данных объекта. Сами по себе псевдонимы, как объекты, встраиваются в составной документ, содержащий связи.

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

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

Предположим, что для редактирования квартального отчета вы исполь­зуете Word и хотите изменить информацию в таблице Excel, встроенной в отчет. Когда происходит активизация таблицы путем двойного щелчка на ней, библиотеки OLE автоматически запускают программу Excel и загружают в нее таблицу. При этом Excel интегрирует свое меню, панель инструментов и строку состояния в пользовательский интерфейс Word. Этот процесс называется согласованием. Создается впечатление, что вы полу­чаете доступ к функциям Excel, не выходя из Word.

Каким образом таблица отображается в текстовом редакторе, когда он запускается первый раз? Составной документ (документ Word), содержащий таблицу Excel хранит представление объекта таблицы в виде метафайла. При вставке таблицы в составной документ или связывании с ним Excel передает Word представле­ние таблицы в виде метафайла. То, что вы видите при загрузке Документа Word, содержащего таблицу Excel, – это картинка. Если таблица ни разу не активизируется, то программа Excel не будет загружена в память.

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

Часть 4. Использование OLE в Office

Так как технология OLE является наиболее популярной и используемой на данный момент, то рассматриваемые примеры встраивания и связывания относятся именно к ней. Для рядового пользователя программные продукты компании Microsoft стали своеобразным стандартом, поэтому целесообразным было бы проследить применение OLE в пакете Office.

В программах пакета Office широко используются две функции OLE, которые ориентированны на пользователей, не являющихся программистами, – Связывание и Внедрение.

Глава 4.1. Связывание

При процедуре связывания необходимо сначала поместить в буфер обмена (скопировать) данные из документа источника. Затем выбрать место вставки в документе приемнике и вызвать окно специальной вставки: Главное Меню ? Правка ? Специальная вставка. Данную последовательность действий нужно проделать в каждом из следующих примеров.

Над любым связанным объектом возможно выполнение ряда операций, например таких как. Обновить связь, Изменить связь, Преобразовать связь. Так же можно просмотреть и отредактировать все связи присутствующие в данном документе командой Главное Меню ? Правка ? Связи.

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

Таблица Excel ? Документ Word. Итак, мы скопировали таблицу Excel в буфер обмена и открыли окно специальной вставки (Рис. 4.1.). В этом окне можно увидеть источник связываемых данных, и убедившись в том, что он является верным, необходимо установить переключатель Связать. Далее выберем формат связываемых данных, то есть, в каком виде они будут представлены в документе приемнике. Рассмотрим два примера:

Лист Microsoft Excel (объект)

Текст в формате RTF

В первом случае в документ Word будет вставлен объект, визуально представленный таблицей идентичной таблице Excel. Однако редактировать эту таблицу средствами текстового процессора не представляется возможным. Двойным щелчком по данной таблице можно вызвать документ источник и произвести изменения там.

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

Слайд PowerPoint ? Документ Word. Для создания такой связи сначала необходимо проделать такой же стандартный порядок действий, как и в прошлом примере. Скопируем отдельный слайд и вставим его с помощью связывания. В качестве формата данных выбрать Слайд PowerPoint (объект). Вставленный объект будет очень похожим на рисунок Word. Двойным щелчком по вставленному объекту можно вызвать приложение с документом источником.

Глава 4.2. Внедрение

При внедрении необходимо также поместить в буфер обмена данные из документа источника. Затем открыть окно специальной вставки.

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

Таблица Excel ? Документ Word. Скопируем таблицу в буфер обмена (clipboard) и вызовем окно специальной вставки. Выставим переключатель Вставить и выберем формат данных как Лист Microsoft Excel (объект). На первый взгляд, внедренный объект ни чем не отличается от таблицы вставленной с помощью связывания. Однако если дважды щелкнуть по этой таблице, приложение источник запускаться не будет, как при связывании, а будет использована функция непосредственной активизации OLE.

Презентация PowerPoint ? Лист Excel. При копировании презентации необходимо выделить все её слайды и поместить в буфер обмена. Далее с помощью специальной вставки внедрим объект Презентация PowerPoint. Если вы хотите просмотреть внедренную презентацию щелкните дважды по ней или с помощью контекстного меню выберете команду Объект презентация ? Показать. Посредством этого же меню можно отредактировать презентацию (команда Изменить) используя непосредственную активизацию.

Заключение

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

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

Появление OLE и подобных ей методов (COM, CORBA) сыграло важную роль в продвижении информационных технологий. Данные схемы нашли широкое применение в WEB-конструкциях. Так для эффективного употребления WEB-приложений в Интернете очень часто применяются технологии совместного использования. Подобные технологии также эффективно используются в компьютерных сетях с применением архитектуры клиент-сервер.

Литература

Пьюполо 1997 – Пьюполо Джон. OLE: создание элементов управления. – Киев.: BHV, 1997.

Буч 1998 – Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++, 2-е изд. – М.: Бином 1998.

Вендров 2000 – Вендров А.М. Проектирование программного обеспечения экономических информационных систем. – М.: Финансы и статистика, 2000.

Гамма, Хелм, Джонсон, Влиссидес 2001 – Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Приемы объектно-ориентированного программирования. – СПб.: Питер, 2001.

Кулаичев 1999 – Кулаичев А.П. Методы и средства анализа данных в среде Windows. – М.: Информатика и компьютеры, 1999.

Терехов, Туньон 1999 – Терехов А.А., Туньон В. Современные модели качества программного обеспечения. BYTE/Россия. №12, 1999.

Шлеер, Меллор 1993 – Шлеер С., Меллор С. Объектно-ориентированный анализ: моделирование мира в состояниях. – Киев: Диалектика, 1993.

Одинцов 2002 – Одинцов И.О. Профессиональное программирование. Системный подход. – СПб.:BHV-Петербург, 2002.

Ботт 1998 – Ботт Эд. Microsoft Office. – М.: Бином, 1998.

Корнеев 1999 – Корнеев В.В. Параллельные вычислительные системы. – М.: Нолидж. 1999.

Интеграция приложений MS Office

Пакеты прикладных программ (ППП) − это специальным образом организованные программные комплексы, рассчитанные на общее применение в определенной проблемной области и дополненные соответствующей технической документацией.

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

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

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

Как уже говорилось, самым распространенным в мире офисным пакетом является Microsoft Office. По данным International Data Corporation – одной из крупнейших компаний, работающих в области компьютерной аналитики, это приложение установлено более чем на 95% персональных компьютеров. Пакет Microsoft Office Standard Edition 2007 включает программы: Word 2007, Excel 2007, Outlook 2007, PowerPoint 2007 (возможно также включение в этот список программы Publisher). На возможностях этих программ мы кратко остановимся.

Microsoft Word – это многофункциональная система обработки текстов, обладающая полным набором средств, необходимых для быстрого создания и эффективной обработки документов практически любой степени сложности.

Microsoft Word – настолько широко распространенный текстовый процессор, что его файловый формат (.doc) стал стандартом дефакто для всех разработчиков офисных приложений.

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

Форматированием называется изменение внешнего вида текста, при котором не изменяется его содержание.

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

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

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

Word значительно облегчает работу при форматировании документа, предоставляя возможность использовать стили.

Стиль – это именованный и сохраненный набор параметров форматирования. Стиль может определять шрифт, его размер, межстрочный интервал, способ выравнивания текста по краям и т.д. Определив стиль, можно быстро применить его к любому фрагменту текста документа. Форматировать текст с помощью стилей намного быстрее, чем изменять вручную каждый элемент форматирования. Использование стиля гарантирует единообразие внешнего вида определенных элементов документа. При внесении изменений в определение стиля весь текст документа, к которому был применен этот стиль, изменится в соответствии с новым определением стиля. В Word есть целый ряд заранее определенных стилей, а также предусмотрена возможность создавать пользовательские. Кроме того, использование стилей позволяет автоматизировать такие процедуры, как составление оглавления и указателей.

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

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

Word предлагает встроенные средства графики, позволяющие включать в текст схемы, чертежи и диаграммы.

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

В Word 2007 реализованы также новые возможности доступа к дополнительным ресурсам (электронным словарям, шаблонам, клипартам, учебным материалам и т.п.), которые собраны на специальном Web-узле Microsoft Office Online.

В последнее время появился ряд новых интерактивных служб на русском языке. В частности, пользователям Office 2007 доступны электронные энциклопедии и системы поиска товаров в Интернет-магазинах.

Число подобных сервисов будет постоянно расширяться, открывая пользователям MS Office доступ к новым услугам.

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

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

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

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

В последней версии (Outlook 2007) программа существенно изменилась. Новый интерфейс обеспечивает расположение сообщений на экране в виде вертикального окна (так называемой газетной колонки).

Появились новые возможности управления письмами. Функция «интеллектуальной группировки» почты позволяет упорядочить письма по времени получения, важности, объему и т.д. В результате пользователь получает краткий список разделов: сегодня, вчера, на этой неделе, в последний месяц, за последний год. Щелкнув мышью по любому пункту, можно ознакомиться с письмами, которые соответствуют определенным критериям.

Еще одно новшество позволяет более эффективно сортировать и обрабатывать почту. Речь идет о виртуальных папках поиска, отображающих результаты определенных поисковых запросов. При этом все элементы электронной почты остаются в своих исходных папках программы Outlook. С помощью папок поиска легко группировать письма по определенным критериям. В Outlook 2007 появился настраиваемый фильтр спама. Программа фильтрует сообщения с подозрением на спам и автоматически перемещает их в папку «Нежелательная почта» (Junk e-mail folder).

Microsoft Power Point – это популярная программа подготовки презентаций, которая широко используется бизнесменами, преподавателями, лекторами и служащими офисов. Широкое распространение этой программы изменило само представление о трудоемкости создания презентации. Всего 15 лет назад доклады и презентации сопровождались преимущественно бумажными плакатами, изготовление которых было весьма трудоемким и часто требовало услуг профессиональных чертежников. Обычно плакаты фотографировались и с них делались слайды, которые демонстрировались с помощью слайд – проекторов. Сегодня благодаря появлению программ типа Power Point оформление доклада самым качественным иллюстративным материалом занимает считанные минуты.

Power Point позволяет создавать наглядные презентации, интегрируя текст, графику, видео и другие элементы на отдельных страницах, называемых «слайдами» по аналогии со слайд – проекторами, вышедшими сегодня из употребления благодаря внедрению компьютерных презентаций. Power Point дает возможность создавать слайды, содержащие перемещаемые таблицы и обтекающий текст, а также редактировать, демонстрировать и распечатывать слайды.

Переходы между слайдами при демонстрации презентации с компьютера могут быть анимированы различными способами. Можно анимировать также отдельные элементы на слайдах, чтобы привлечь к ним внимание аудитории. Как и в других программах, входящих в MS Office, Power Point предоставляет множество готовых вариантов дизайна и шаблонов содержания.

Microsoft Power Point позволяет транслировать презентации на широкую аудиторию через Интернет.

По мере развития Microsoft Office программа приобретала новые элементы, общие для всех приложений Office.

В Power Point 2007 появилось усовершенствованное средство просмотра (Power Point Viewer), позволяющее пользователям, у которых не установлен Power Point, ознакомиться с PowerPoint-презентацией. Авторы презентации могут включить “просмотрщик” (viewer) на этапе записи презентации на CD. Помимо этого, программа приобрела целый ряд новых функций. В частности, появилась возможность просматривать полноэкранные фильмы как Power Point – презентации.

Microsoft Excel – это идеальное средство для решения учетных задач, обработки экспериментальных данных, составления отчетов и т.п.

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

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

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

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

За счет поддержки языка XML Microsoft Office Excel 2007 позволяет считывать данные из любой заданной пользователем XML-схемы.

Можно также использовать поддержку языка XML в Microsoft Office Excel 2007 для обновления диаграмм, таблиц и графиков по мере внесения изменений в соответствующем хранилище XML-данных.

Microsoft Office Access или просто Microsoft Access — реляционная СУБД корпорации Microsoft. Имеет широкий спектр функций, включая связанные запросы, связь с внешними таблицами и базами данных. Благодаря встроенному языку VBA, в самом Access можно писать приложения, работающие с базами данных.

Основные компоненты MS Access:

– конструктор экранных форм;

– конструктор SQL-запросов (язык SQL в MS Access не соответствует стандарту ANSI);

– конструктор отчётов, выводимых на печать.

Они могут вызывать скрипты на языке VBA, поэтому MS Access позволяет разрабатывать приложения и БД практически «с нуля» или написать оболочку для внешней БД.

MS Access является файл-серверной СУБД и потому применима лишь к маленьким приложениям. Отсутствует ряд механизмов, необходимых в многопользовательских БД, таких, например, как триггеры.

Существенно расширяет возможности MS Access по написанию приложений механизм связи с различными внешними СУБД: «связанные таблицы» (связь с таблицей СУБД) и «запросы к серверу» (запрос на диалекте SQL, который «понимает» СУБД). Также MS Access позволяет строить полноценные клиент-серверные приложения на СУБД MS SQL Server. При этом имеется возможность совместить с присущей MS Access простотой инструменты для управления БД и средства разработки.

Microsoft Publisher – это удобная настольная издательская система, предназначенная для бизнес-пользователей, желающих выпускать собственные маркетинговые материалы, не обращаясь за помощью к профессиональным дизайнерам. Microsoft Publisher широко используется на предприятиях малого бизнеса и в домашних условиях, позволяя быстро и без проблем создавать высококачественные бюллетени, объявления, буклеты, веб-узлы и другие публикации. Благодаря расширению возможностей профессиональной печати и усовершенствованию функций печати и работы с Вебом, Publisher может теперь предоставить бизнес-пользователю полный набор эффективных инструментов маркетинга и организации процесса продаж. Кроме того, в рамках программы Publisher Service Provider пользователям приложения Publisher оказывается содействие в поиске типографий, в которых могут печататься материалы, подготовленные с помощью приложения Publisher.

На рисунке 8.1 изображено окно работы в Microsoft Publisher.

Рисунок 8.1 – Окно работы в Microsoft Publisher

Publisher позволяет существенно повысить производительность труда и упростить работу пользователей. Этому способствуют следующие особенности данного приложения:

– включение хорошо знакомых пользователям средств из пакета Office. Благодаря этому упрощается освоение данного приложения пользователями, знакомыми с другими приложениями Office;

– использование согласованных друг с другом элементов управления – пользовательского интерфейса, меню, панелей инструментов и новой области задач – формирует привычную для пользователей среду пакета Office, одновременно поддерживая уникальные возможности создания публикаций, имеющиеся в приложении Publisher;

– обеспечение большего числа вариантов открытия, редактирования и форматирования основных документов Word в приложении Publisher с помощью мастера импорта документов Word;

– улучшенная поддержка вставки текста в документы Publisher из других приложений Office с сохранением исходного форматирования – с помощью буфера обмена Office и смарт-тега параметров вставки.

Продукты семейства Microsoft Office содержат однотипные панели инструментов, а также целый набор инструментов, общих для всех приложений (механизмы проверки правописания, средство для рисования, редактор диаграмм, библиотека клипартов, рисунков и т.д.).

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

Следует отметить, что пользователям, имеющим подключение к Интернету, доступна не только часть ресурсов Microsoft Office, которая установлена на локальном диске ПК, а также та часть, которая расположена в Сети. Пользователь, подключенный к Интернету, имеет возможность непосредственно из MS Office обратиться к дополнительным сервисам, шаблонам, клипартам и т.п.

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

Пользователь, подключенный к Сети, имеет возможность непосредственно из MS Office обратиться к дополнительным сервисам.

Работая в сетевых операционных системах, приложения семейства Microsoft Office поддерживают совместную групповую работу над общими документами, расположенными не только на локальном диске рабочей станции, но и на соседнем компьютере или на сервере сети. Электронной таблицей Microsoft Excel или базой данных Microsoft Access могут одновременно пользоваться несколько человек. Microsoft Word позволяет создавать документ, над разными частями которого могут одновременно работать разные исполнители.

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

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

Это позволяет редактировать объект средствами создавшего его приложения. Объекты могут представлять собой рисунок, текст, диаграмму, интервал ячеек, звуковой файл или даже видеоклип. Например, в документ Word может быть внедрена диаграмма Excel, слайд презентации PowerPoint или выборка из базы данных.

Механизм связывания оригинального объекта и его копии обеспечивает эффективную работу с составными документами, в которых используются различные источники. В частности, можно настроить режим, при котором данные, помещенные в Word-документ из таблицы Excel, будут обновляться автоматически в составном документе при обновлении источника – таблицы Excel.

Этот прием широко используется на практике. Например, очень удобно подготовить отчет в Word, который будет содержать данные о продажах на текущий день. В Word-документ помещается соответствующий раздел электронной таблицы Excel, который оперативно обновляется отделом продаж. Связи между таблицей и отчетом позволяют при каждом изменении электронной таблицы обновлять отчет.

Приложения Microsoft Office могут взаимодействовать и с приложениями, не входящими в пакет, в том числе других производителей. Например, встроенные средства экспорта/импорта позволяют обрабатывать документы, подготовленные в форматах других программ. В частности, Excel позволяет загружать и обрабатывать документы в форматах других табличных процессоров.

И наконец, внутрь документа MS Office могут быть вставлены гиперссылки на любые документы.

Хотя приложения Microsoft Office имеют очень широкий набор функций, очевидно, что никакой программный продукт не может удовлетворить все специфические запросы разных категорий пользователей. Поэтому в приложения пакета Microsoft Office встроен универсальный инструмент для создания собственных приложений VBA (аббревиатура от Visual Basic for Applications, что означает “Visual Basic для приложений”). VBA – это язык программирования, встроенный в целый ряд программ, в том числе в приложения Microsoft Office.

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:

Comments are closed, but trackbacks and pingbacks are open.