работа с OpenOffice

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Penumbra
Обычный пользователь
Обычный пользователь
 
Сообщения: 62
Зарегистрирован: 24.01.2009 (Сб) 13:36

работа с OpenOffice

Сообщение Penumbra » 29.09.2013 (Вс) 19:31

Доброго времени суток!
У меня такая проблема появилась, писал когда то программку которая генерировала отчеты в Microsoft Excel из бд mysql , все было хорошо до тех пор пока на некоторых компах не начали устанавливать OpenOffice вместо мелкософта, соответственно при нажатии кнопочки "генерировать отчет" юзеру выводится сообщение с посылкой его в дальний путь..
вот у меня вопрос, как мне из VB с генерировать отчет в OpenOffice ?
самое большое что я нашел по опенофису это
Код: Выделить всё
Dim objServiceManager As Object
Dim objDesktop As Object
Dim args()

Set objServiceManager= CreateObject("com.sun.star.ServiceManager")
Set Stardesktop= objServiceManager.createInstance("com.sun.star.frame.Desktop")
Set doc = Stardesktop.loadComponentFromURL("private:factory/swriter", "_blank", 0, args)
Set text = doc.getText()
text.setString("Hello World")

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: работа с OpenOffice

Сообщение alibek » 29.09.2013 (Вс) 20:25

Покупайте Microsoft Office.
Open Office не способен его заменить в корпоративной среде.
Lasciate ogni speranza, voi ch'entrate.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: работа с OpenOffice

Сообщение iGrok » 29.09.2013 (Вс) 21:00

Penumbra писал(а):как мне из VB с генерировать отчет в OpenOffice

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

В общем, после пары лет написания разного рода отчётов на опене, в том числе с использованием его встроенного бейсика, дико плюсую рекомендацию alibek'а.
label:
cli
jmp label

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: работа с OpenOffice

Сообщение FireFenix » 29.09.2013 (Вс) 21:17

Penumbra писал(а): как мне из VB с генерировать отчет в OpenOffice ?

Не использовать API оффиса, а генерить со своим классом/библиотекой doc/docx или промежуточный формат типа rtf.

Но при генерации docx нет ничего сложного даже своими руками, формат открытый и представляет из себя zip с xml файлами, причём формат xml опсиан на msdn.
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 29.09.2013 (Вс) 22:07

Docx и xlsx можно генерировать с помощью OpenXML. OOo нормально их открывает.
Кстати, есть аналогичные библиотеки для odt.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 29.09.2013 (Вс) 22:08

alibek писал(а):Open Office не способен его заменить в корпоративной среде.

Ну чего все его так не любят :(

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: работа с OpenOffice

Сообщение iGrok » 29.09.2013 (Вс) 22:47

Qwertiy писал(а):Ну чего все его так не любят

А ты мой пост точно прочитал? Там, вроде, достаточно подробно описано... :)
MS тоже, бывает, падает. Но засчёт автоматического "бэкапа" документов (я даже не про автосохранение) обычно это обходится без деструктивных последствий.
label:
cli
jmp label

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 29.09.2013 (Вс) 23:19

iGrok писал(а):MS тоже, бывает, падает. Но засчёт автоматического "бэкапа" документов (я даже не про автосохранение) обычно это обходится без деструктивных последствий.

В OOo тоже есть автоматическое восстановление и автоматическое сохранение через заданный интервал в какую-то его временную папку. Если не ошибаюсь, можно и нормальное автосохранение настроить, но я не настолько ленив, чтобы не нажимать Ctlr+S по мере необходимости. Да и вообще, что-то он у меня не падает обычно. По крайней мере третий. Вот с чётвёртым какая-то фигня недавно была - три раза упал на одно и то же действие. Правда перед этим я уронил MS Visio раз десять, причём разными действиями, хотя и из одной и той же области, так что не показатель. Падения третьего я помню только при открытии определённых html-файлов.

iGrok писал(а):в том числе с использованием его встроенного бейсика

Писать отчёты на VBA - уже что-то не то, на мой взгляд...
Хотя да, по поводу сложности использования VBA в OOo согласен - не хватает нормальной объектной модели.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: работа с OpenOffice

Сообщение iGrok » 30.09.2013 (Пн) 3:25

Qwertiy писал(а):В OOo тоже есть автоматическое восстановление

Ну, что в 2.2.1, что в какой-то из третьих оно толком не спасало, файлы периодически дохли на ровном месте, причём автовосстановление их в порядок не приводило.

Qwertiy писал(а):Писать отчёты на VBA - уже что-то не то, на мой взгляд...
Хотя да, по поводу сложности использования VBA в OOo согласен - не хватает нормальной объектной модели.

Ах если бы это был VBA... OpenOffice.org BASIC - это совсем не VBA. :)
Он использовался для генерации накладных, счетов, и прочих документов. Там сотрудник заполнял поля в документе и нажимал кнопку, а дальше подтягивалась дополнительная информация из базы, генерировались страницы, и всё это дело автоматом уходило на печать.

Иногда и такие документы ломались, причём на ровном месте. А уж что с ними происходило при смене версии OOO, это я луше даже описывать не буду, сплошная нецензурщина полезет...

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

В общем, моё личное отношение к нему: в качестве домашнего офисного пакета для просмотра и редактирования документов - покатит. Но что-то официальное размером более, чем на 10 страниц я в нём бы делать не рискнул. :)
label:
cli
jmp label

Vi
Постоялец
Постоялец
 
Сообщения: 739
Зарегистрирован: 25.01.2002 (Пт) 11:03
Откуда: Россия, Ижевск

Re: работа с OpenOffice

Сообщение Vi » 30.09.2013 (Пн) 13:17

alibek писал(а):Покупайте Microsoft Office.
Open Office не способен его заменить в корпоративной среде.

Ну вообще это рекомендация Юзерам, - а они уже сделали выбор в пользу Open Office, - на что Penumbra повлиять не может. Если есть предложения Penumbra по реализации его отчётов в условиях отсутствия Microsoft Office, то велкам, иначе это оффтопик.

PS
У нас с нашим продуктом тоже появились проблемы с использованием Open Office Юзерами. Пришлось допиливать функционал и для этого случая.
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! (с) КВН

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: работа с OpenOffice

Сообщение iGrok » 30.09.2013 (Пн) 14:21

Vi писал(а):Ну вообще это рекомендация Юзерам, - а они уже сделали выбор в пользу Open Office

А это зависит от того, что это за организация, какую должность там занимает Penumbra, и насколько официальна та утилитка...

Впрочем, оффтоп у нас действительно что-то..

Вот доки по их объектной модели:
http://wiki.openoffice.org/wiki/Documen ... readsheets
Соответственно, до всего этого можно дотянуться снаружи через COM, единственное, я уже не помню, как создавать их файлы внешним кодом, но ковыряться нужно именно в этом направлении.
label:
cli
jmp label

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 30.09.2013 (Пн) 14:23

iGrok писал(а):Соответственно, до всего этого можно дотянуться снаружи через COM

Документы OOo - это тоже зазипованный xml и есть библиотеки для его формирования.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re:

Сообщение alibek » 30.09.2013 (Пн) 16:09

Qwertiy писал(а):Ну чего все его так не любят :(

Потому что я с ним довольно много работал.
Если деваться больше некуда, то можно пользоваться и OO.
Но все же использование Microsoft Office сэкономит здоровье и деньги.
Lasciate ogni speranza, voi ch'entrate.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: работа с OpenOffice

Сообщение iGrok » 30.09.2013 (Пн) 23:07

Qwertiy писал(а):
iGrok писал(а):Соответственно, до всего этого можно дотянуться снаружи через COM

Документы OOo - это тоже зазипованный xml и есть библиотеки для его формирования.

Да я в курсе, как бы. Когда я с ним плотно работал, вариант с дотягиванием через COM оказался существенно проще.
label:
cli
jmp label

Penumbra
Обычный пользователь
Обычный пользователь
 
Сообщения: 62
Зарегистрирован: 24.01.2009 (Сб) 13:36

Re: работа с OpenOffice

Сообщение Penumbra » 02.10.2013 (Ср) 12:45

alibek писал(а):Покупайте Microsoft Office.
Open Office не способен его заменить в корпоративной среде.

в том то и беда что руководство не желает покупать Microsoft Office :x

Vi писал(а):
alibek писал(а):Покупайте Microsoft Office.
Open Office не способен его заменить в корпоративной среде.

Ну вообще это рекомендация Юзерам, - а они уже сделали выбор в пользу Open Office, - на что Penumbra повлиять не может. Если есть предложения Penumbra по реализации его отчётов в условиях отсутствия Microsoft Office, то велкам, иначе это оффтопик.
это даже не Юзеры а руководство сделало выбор в пользу Open Office , чтоб их тараканы покусали :D

Qwertiy писал(а):
iGrok писал(а):Соответственно, до всего этого можно дотянуться снаружи через COM

Документы OOo - это тоже зазипованный xml и есть библиотеки для его формирования.
а поподробней про эти чудо библиотеки можно?


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 27

    TopList