Работа с OLE-сервером Excel

Работа с OLE-сервером Excel

Собственные проработки.

Введение

Наиболее используемыми в Windows для большинства пользователей являются MS Word и MS Excel. Естественно, результаты решения прикладных задач для них желательны в виде документов знакомых приложений.

Создание таких прикладных программ, где итоговый документ формируется не только в формате, но и с использованием возможностей MS Word или MS Excel, получило название разработки контроллеров автоматизации или управления серверами автоматизации. Здесь прикладная программа рассматривается как контроллер, а Word и Excel - как сервер.

Столкнувшись с продобной задачей в среде Borland C++ Builder сразу становится ясно, что литература по данному вопросу и есть и нет. Есть, потому, что ее можно найти, а нет, потому, что иммеющиеся источники содержат только основы, позволяющие приступить к выполднению задачи. В лучшем случае, описывается как запустить сервер автоматизации, провести вывод текста или некоторого элементарного графического материала. В книге "Borland C++ Builder 5. Энциклопедия программиста" Чарльза Калверта и Кента Рейсдорфа всего одна глава посвящена данным вопросам. Стартовые моменты можно найти у Алесандра Тарадым, а некоторые основы по работе с диаграммами у Наталии Елмановой. В РуНете многократно повтороен класс, разработанный Д. Арсентьевым и являющийся на сегодня одним из немногих непосредственно применимых на практике кодов, который позволяет создать простой отчет в виде документа .xls. Однако контроллеры автоматизации могут гораздо больше вывода текстовых данных и элементарной графики.

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

Контроллеры автоматизации осуществляют управление серверами автоматизации при помощи вызовов их методов и с использованием переменных типа Variant. Этот тип данных позволяет работать со всеми объектами сервера автоматизации при помощи в основном четырех вызовов:

  • OlePropertyGet;

  • OlePropertySet;

  • OleProcedure;

  • OleFunction.

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

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

OleProcedure и OleFunction выполняют указанный метод объекта.

Объекты к которым обращается сервер имеют иерархическую структуру (Пример для Excel):

  • Приложение (Excel.Application) содержащее одну или более книг (Workbooks);

  • Книги, содерщащие одну или более страниц (Worksheets) или(и) диаграмм (Charts);

  • Страницы, содержащие ячейки (Cells), строки, столбцы, рисунки, диаграммы.

Соответственно, внутри свойствами объектов Word могут также быть коллекции Paragraphs, Words, Tables.

В начало

Работа с OLE-сервером Excel

Работа с OLE-сервером Word

Пример программы управления OLE сервером Word

Домой



Сайт управляется системой uCoz