triteh.ru
  Решения     Новости     Файлы     Поддержка     Контакты     О сайте  

TOpenOffice : OLE automation интерфейс для OpenOffice.org

Краткая информация

Библиотека, упрощающая доступ к данным Open Office Calc. Предоставляет automation интерфейс, схожий с интерфейсом Excel.Application, что позволяет использовать созданные для Microsoft Excel продукты в среде OpenOffice.org с минимальными модификациями.

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

Делает возможным работу с OpenOfice.org из сред, позволяющих использовать OLE automation, но имеющих ограничения на типы передаваемых значений, например 1C:Предприятие 7.X.

Бесплатная версия. Исходный код библиотеки не предоставляется.

Интерфейсы

Объектная модель библиотеки построена по образцу и подобию Excel.Application, но позволяет работать с объектами и через UNO интерфейсы.

TOpenOffice.Bridge

  • NewWorkBook Создает Новую рабочую книгу. Активизирует 1й лист книги.
  • Open(aFileName:WideString) Открывает файл aFileName. Активизирует 1й лист книги.
  • Close Закрывает файл не сохраняя изменений и без вопроса на сохранение.
  • Cells[row,col] :TOpenOffice.Cell предоставляет доступ к ячейке таблицы (см. ниже).
  • Workbooks :TOpenOffice.Workbooks доступ к рабочим книгам (см. ниже).
  • Worksheets[ind] :TOpenOffice.Worksheet предоставляет доступ к списку листов рабочей книги (1.04+).
  • Worksheet[ind] :TOpenOffice.Worksheet синоним WorkSheets[ind].
  • Visible :integer Заглушка [$]
  • UNOmanager :OleVariant UNO интерфейс "com.sun.star.ServiceManager" (1.02+)
  • UNOdesktop :OleVariant UNO интерфейс "com.sun.star.frame.Desktop" (1.02+)
  • UNOdocument :OleVariant UNO интерфейс открытого документа. (1.02+)
  • Visible :Bool видимость основного окна приложения [$]

TOpenOffice.Cell

доступ к объекту возможен только если книга была открыта или создана. Нумерация начинается с 1, т.е. ячейка А1 представляется как Cells[1,1]
  • Text :WideString предоставляет доступ к текстовому представлению значения ячейки.
  • Value :OLEvariant предоставляет доступ к содержимому ячейки.
  • Formula :WideString предоставляет доступ к формуле ячейки.
  • UNO :OleVariant UNO интерфейс ячейки таблицы. (1.02+)

TOpenOffice.WorkBooks

доступ к объекту возможен только если книга была открыта или создана.
  • Count :Itneger Число рабочих книг. Всегда возвращает 1 если рабочая книга открыта (создана) ,или 0 если документ не активен. [$]
  • New Создает Новую рабочую книгу. Активизирует 1й лист книги.
  • Open(aFileName:WideString) Открывает файл aFileName. Активизирует 1й лист книги.

TOpenOffice.Worksheets

доступ к объекту возможен только если книга была открыта или создана.
  • [Default] : TOpenOffice.Worksheet Свойство по умолчанию.
  • Count :Itneger Число листов рабочей книги.
  • UNO :OleVariant UNO интерфейс UNOdocument.getSheets (1.02+)

TOpenOffice.Worksheet

доступ к объекту возможен только если книга была открыта или создана. Нумерация начинается с 1, т.е. первый лист представляется как WorkSheet[1]
  • Cells[row,col] :TOpenOffice.Cell предоставляет доступ к ячейке таблицы.
  • Name :WideString имя рабочего листа.
  • Index :Integer32 порядковый номер рабочего листа (1.02+).
  • Activate Делает текущий рабочий лист активным.
  • UNO :OleVariant UNO интерфейс текущего листа (1.02+)

[$] - функции-заглушки и объекты-затычки не реализованные в данной версии. Всегда возвращают пустую строку или 0 в зависимости от типа объекта.
(N.VV+) - Версия библиотеки, начиная с которой доступно свойство или метод.

Примеры

ряд примеров предполагает наличие файла c:\sample.xls.

1С Предприятие 7.0 7.5 7.7

"Упрощенный" вариант
процедура Сформировать();
перем tOO,яч;
	tOO=СоздатьОбъект("TOpenOffice.Bridge");
	tOO.Open("c:\sample.xls");
	tOO.Cells(1,1).text="Это текст из 1С!";
	яч=tOO.Cells(1,2);
	сообщить("В ячейке B3 содержится текст:"+яч.text);
	tOO=0;
конецПроцедуры // Сформировать();	
Вариант в стиле Excel.Application
процедура Сформировать();
перем xls,cel,сч;
	если ФС.СуществуетФайл(СокрЛП(ВыбФайл))=0 тогда
		предупреждение("Необходимо указать существующий файл",90);
		возврат;
	конецЕсли; 
	// xls=СоздатьОбъект("Excel.Application");
	xls=СоздатьОбъект("TOpenOffice.Bridge");
	xls.WorkBooks.Open(СокрЛП(ВыбФайл));
	для сч=1 по xls.WorkSheets.Count цикл
		сообщить(""+сч+"="+xls.WorkSheets[сч].name);
	конецЦикла; //сч=1 по xls.WorkSheets.Count
	xls.Worksheets(1).Activate();
	// как и в Excel.Aplication:
	// 1 . к ячейке можно обращаться через объект книги
	xls.Cells(1,1).text="Это текст из 1С!";
	// 2. а можно создав ссылку на ячейку, и затем обращаться к ней
	cel=xls.WorkSheets(2).Cells(1,1);
	cel.Value="Шифровальщица попросту забыла ряд ключевых множителей и тэгов";
	// 
	cel=xls.Cells(1,2);
	сообщить("В ячейке A2 содержится текст:"+cel.text);
	xls=0;
конецПроцедуры // Сформировать();	

1С Предприятие 8.0 8.1

процедура Сформировать();
перем tOO,яч;
	tOO=СоздатьОлеОбъект("TOpenOffice.Bridge");
	tOO.Open("c:\sample.xls");
	tOO.Cells(1,1).text="Это текст из 1С!";
	яч=tOO.Cells(1,2);
	сообщить("В ячейке B3 содержится текст:"+яч.text);
	tOO=0;
конецПроцедуры // Сформировать();		

Delphi 3+

var tOO:OLEvariant;
begin
	tOO:=CreateOLEobject('TOpenOffice.Bridge');
	tOO.WorkBooks.New;
	tOO.Cells[1,1].text:='Это текст из Delphi!';
	tOO:=0;
end;

История версий TOpenOffice.Bridge

  • 1.0 от 02.02.2007 betta-версия библиотеки.
  • 1.02 от 10.02.2007 Исправлены обнаруженные ошибки, добавлена возможность непосредственного доступа к UNO интерфейсам объектов.
  • 1.04 от 22.02.2007 Исправлены обнаруженные ошибки, добавлено несколько новых свойств и методов.

    Краткая информация про OpenOffice.org

    OpenOffice.org - это свободный набор офисных программ, доступный каждому. Распространяется по лицензии LGPL. Имеются версии для Windows, Linux, MacOS, OS/2.
    Основные составляющие открытого офиса:

  • Calc (электронные таблицы, поддерживает форматы Excel 95,97,2000,XP,2003 и др.).
  • Writer (текстовый процессор, поддерживает форматы Word 95,97,2000,XP,2003 и др.).
  • Impress (система презентаций, поддерживает форматы PowerPoint и др.).
  • Draw (графический векторный редактор).

    По своим возможностям OpenOffice.org вполне сопоставим с известным MS Office. Вы можете без проблем загружать документы MS-Office (Word, Excel, Powerpoint), редактировать их и сохранять как в оригинальном формате, так и в формате OpenOffice.org.

    Начиная со сборки 2.0.4 (от Инфра-Ресурс) OpenOffice.Calc нормально открывает файлы xls (недо-Excel) созданные средствами 1С:Предприятия 7.7.


    Подробнее узнать про OpenOffice.org, бесплатно скачать сборку можно на любом из предложенных сайтов.

  • ru.openoffice.org Официальный сайт OpenOffice.org
  • i-rs.ru Инфра-Ресурс выпускает собственную бесплатную сборку OpenOffice.
  • wiki.services.openoffice.org Раздел WIKI, посвященный OpenOffice
    Скачать TOpenOffice 1.04 Бесплатная версия (ZIP 0.2 Mb)
  • продукты и решения
    XLS1C - Преобразование электронных таблиц XLS в документы 1С Бухгалтерии 7.7

    TOpenOffice 1.0 - Ole automation интерфейс для OpenOffice.org

    Универсальный генератор алгоритма OLE-Automation переноса документов 1С 7.7
    all products 

    поиск по сайту
    поиск производится только по сайту http://triteh.ru
    powered by Google 

         
     
    ZIP
    200 Kb
     
     
     
    TOpenOffice 1.04
    OLE automation интерфейс для OpenOffice.org
    * бесплатная версия *
     

    новости
    20.02.2007 Опубликована бесплатная обработка для переноса электронных таблиц в документы 1С:Бухгалтерии 4.5 - XLS1C для 1С Бухгалтерии 7.7

    22.02.2007 доступен новый бесплатный релиз TOpenOffice 1.04 - OLE automation интерфейс для OpenOffice.org
    все новости




    Условия использования Положение о конфиденциальности Отзывы Распечатать
    Copyright © triteh.ru 2006.
    Designed by boroda.yard.ru 2006.