Работа с OpenOffice Writer и MS Word из Borlan C++ Builder через OLE.

 

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

 

Реализованы фунуции:

·          CheckOffice();

·          OfficeVisible(AnsiString Office, Variant app, Variant Document, bool Visible); //показать документ

·          OfficeFindReplace(AnsiString Office, Variant app, Variant Document, AnsiString sFind, AnsiString sReplace); // найти sFind и заменить на sReplace

·          OfficePrintPreview(AnsiString Office, Variant Document); //предпросмотр

·          OfficePrint(AnsiString Office, Variant app, Variant Document); // печать

·          OfficePrintParam(AnsiString Office, Variant app, Variant Document, int vCopies, AnsiString vRangeText, AnsiString vPrinter); // печать с параметрами

·          OfficeFillCell(AnsiString Office, Variant Document,int table,int string,int row, AnsiString str); // Записать строку STR в ячейку номер (String, Row) таблицы номер Table

·          OfficeTableAddRow(AnsiString Office, Variant Document, int table);       // добавить 1 строку в конец

·          OfficeOpenDoc(AnsiString Office, Variant *app, AnsiString FileName); // открыть документ

·          OfficeSaveDoc(AnsiString Office, Variant Document); // сохранить документ

·          OfficeSaveAsDoc(AnsiString Office, Variant Document, AnsiString FileName); // сохранить документ как

·          OfficeQuit(AnsiString Office, Variant app, Variant Document);  // закрыть документ

·          OfficeStrDel(AnsiString Office, Variant app, Variant Document, int Str, int Cnt); // удалить строки

 

Архив (OLEwork.cpp и OLEwork.h):

OLEWork.zip

 

 

Советы, предложения и указания на возможные ошибки приветствуются.

 

(C) lYY (Леонид)

 

Hosted by uCoz