Страница 1 из 2

OpenOffice.Org макросы

Добавлено: 01 май 2008, 17:30
Aent
На сайте http://www.script-coding.info/
появилась статья:
Пишем макросы для OpenOffice.org (http://www.script-coding.info/OOo/OOo_HelloWorld.html)
Статья предназначена для начинающих программистов в среде ООо
(Я по прежему считаючто писать на StarBasic в рамках существующей объектной модели
ООо - себе дороже. Если клиенты не заплатили за MS OFFICE, то маловероятно что заплатят
за программирование в ООо. Но возможно кому нибудь будет интересно ....)

Re: OpenOffice.Org макросы

Добавлено: 06 май 2008, 13:04
Kokain
Поясните подробнее почему переход на OO Basic себе дороже?
Меня интересует именно Calc vs Excel. И как насчет математических функций в Calc, правильно ли в OO работают статистичские функции (может быть побогаче будет чем Excel)?
Спасибо.

Re: OpenOffice.Org макросы

Добавлено: 06 май 2008, 14:51
Aent
Про статистические функции ничего не скажу. Просто никогда не было нужды использовать.
Что же касается Calc vs Excel...
Одна строка на VBA соответствует трём четырём на StarBasic. Частично это обусловленно
языком, но в основном за счёт гораздо более запутанной и менее удобной (IMHO) объектной
модели.Посмотрите
http://documentation.openoffice.org/HOW ... icXref.pdf
Примеры говорят сами за себя ...
Ещё можно поиграться с кривым конвертером VBA2StarBasic
http://www.business-spreadsheets.com/vba2oo.asp
Но это ладно. Более угнетает отсутствие нормальной документации. Я уже не говорюо том
что так как IDE универсальная и не заточена под StarBasic - ждать мало мальски удобного
сервиса не приходится. О подсказках объектной модели забудьте.
UNO (IMHO) значительно менее удобны чем ActiveX. А простейшее действие со средой, типа
добавления своего пункта в контекстное меню, превращается в решаемую но сложнейшую задачу
:(
Правда в 2007 с этим то же начались мелкие проблемы ...
Но и это не главное. Как известно: можно и в гамаке стоя на лыжах ... :rolleyes:
Главное то, что я работаю не ради развлечения а за деньги. А вот их пользователи ООо как
правило платить и не готовы. Или готовы столь мало, что секс в гамаке не оправдан.
Таким образом, я считаю, что использованиее OOo (с программированием) разумно только для
программистов работающих на свою организацию а не на внешнего клиента. И то не всегда.
Если же использовать только FrontEnd и нет проблемы совместимости форматов с другими
пользователями или со старыми архивами документов, то почему бы и нет.
Конечно из всяких правил есть исключения, и я могу легко себе представить программиста
давно работающего с продуктами Novell, любящего Linux и слабо знакомого с VBA. Для такого
человека возможно использование StarBasic или да же Python в Calc будет удобно и привычно.
Но лично я сделав несколько проектов и поимев эротическое приключение с простой
вставкой строк в таблицу CALC (Формулы в нижележащих ячейках менялись ЧАСТИЧНО а не
так как должны были) со StarBasic завязал. По крайней мере до версии OOo 3.x

Re: OpenOffice.Org макросы

Добавлено: 17 май 2008, 02:50
Aent
Примеры работы с ООо через COM
http://forum.script-coding.info/viewtopic.php?id=1266

Re: OpenOffice.Org макросы

Добавлено: 11 ноя 2008, 01:38
Aent
http://www.cybersecurity.ru:80/programm/58670.html
(19:28) 10.11.2008
Компания «Инфра-Ресурс» при участии издательства «ДМК Пресс» сегодня представили книгу «OpenOffice.org pro Автоматизация работы». Эта книга — первое выходящее на русском языке издание по программированию в OpenOffice.org, в основе которого труд Эндрю Питоньяка (Andrew Pitonyak) в переводе А. Н. Заимских.

"Эндрю Питоньяк — признанный мастер по написанию макросов. Его книги программисты разбирают на цитаты. Приведённые примеры с подробным описанием позволяют легко автоматизировать сложную работу с офисными документами, перейти к написанию собственных макросов для пользователей OpenOffice.org", - говорят в «Инфра-Ресурс».

Для удобства изучения книги все приведённые примеры вынесены в виде отдельных файлов на прилагаемый CD. Там же на диске находится дистрибутив OpenOffice.org необходимый для изучения примеров из книги, который может быть легально установлен на работе и дома и на неограниченном числе рабочих мест.

Re: OpenOffice.Org макросы

Добавлено: 16 ноя 2008, 13:33
AlexZZZ
Название: Полезная информация по Макросам для OpenOffice.org
Автор: Эндрю Питоньяк
Год: 2007
Страниц: 492
Формат: odt (Open Document Text)
Размер: 606 Кб

Книга призанного гуру в области программирования макросов OpenOffice.org. Содержит множество примеров работающих макросов, описание приёмов программирования и отладки, библиотеку часто используемых макросов и многое другое. В дальнейшем информация, представленная здесь, была ипользована автором для написания книги "OpenOffice.org Macros Explained".

Рекомендуется все интересующимся офисным пакетом OpenOffice.org.

http://www.infanata.org/computers/prog/ ... -dlja.html

Re: OpenOffice.Org макросы

Добавлено: 20 май 2009, 13:43
putin_ai
Существует куча мифов по поводу OpenOffice.

Я вот только что стал интересоваться макросами в OpenOffice.
Преимущественно руководствовался OpenOffice.org Macros Explained на books.google.com

Тут автор поста кучу мифов рассказал:

1. "Если компании не платят за Microsoft Office, то не заплатят и за программирование в OpenOffice"
Наша компания не покупает MsOffice из-за того, что его функционал нужен паре пользователей. Да, переучиваться бухгалтера не любт и ноют. Это их проблемы.
Если вы не сталкивались еще в ОБЭПом и вам не говорили предъявить лицензии, то вам еще повезло.
У нас была такая ситуация: были лицензии (OpenLicense), и проверяющим сотрудникам не понравился их внешний вид
(проверить подлинность по телефону Майкрософта им было лень). Чуть не конфисковали компьютеры.

2. "Макросы в OpenOffice сложнее"
Это чушь.
Емкость реального кода не отличается. Попробуйте писать сами и убедитесь (я это сделал).
Документация от Ms Script в самых основах полностью соответствует OpenOffice. Sun, как я понимаю, пыталась скопировать синтаксис VBScript.
К тому же, OpenOffice позволяет писать макросы в JavaScript и даже поддерживает код Java.

3. Кто-нибудь знает, как вернуть результат в массиве? У меня, блин, не получается.

[UPD]
http://community.i-rs.ru/index.php/topic,3604.0.html

Re: OpenOffice.Org макросы

Добавлено: 20 май 2009, 17:39
Aent
ну-ну
1) Я видел попытку изъятия на экспертизу (Не конфискации конечно. Конфискация возможна только по решению суда и в очень редких случаях) системных блоков с установленным OpenOfice.Org под предлогом отсутствия сертификата от Инфра-Ресурс (http://www.softkey.ru/catalog/program.p ... &site=9206)
Четвёртая часть ГК и закон о милиции вообще дают большой простор для деятельности отделов К . Строго формально, кстати, лицензия под которой распространяется ОО.о не признаётся действующим законодательством.
И хотя судебных перспектив у подобного дела нет, при большом желании системы с OO.o могут легко изьять на экспертизу.
Впрочем, всё это не имеет никакого отношения к рассматриваемому тезису. Мой опыт работы с различными офисными системами показал, что если небольшая организация (до 10 р.м.) не может найти 295$ в год на MS Action Pack https://partner.microsoft.com/rus/progr ... actionpack(или не желает это делать в пользу любого FREEWARE продукта), то крайне маловероятно, что эта организация заплатит фрилансеру или другой фирме хотя бы 10000 за автоматизацию с помощью макросов. Что конечно не означает что таких удивительных людей вообще нет. Есть. Но их очень мало. И их деньги статистически мне не интересны.
Я даже знаю пару фирм которые ведут разработку в ОО.о для себя. Но даже в этом случае для их сотрудников это не оплачиваемая дополнительно факультативная нагрузка. Что подтверждает мой тезис, что программирование в
ОО.о в массе своей - неоплачиваемое хобби.
Более того, объективности ради замечу, что мне несколько раз платили за разработку макросов для ОО.о на StarBasic и за перенос на него существующего VBA кода. Однако это были очень небольшие суммы не оправдававшие проектов и не сопоставимые с суммами за VBA программирование. Если вы считаете что бесперспективность программирования для OO.o для фриланса - миф - дерзайте ...

2) Не будьте столь несдержаны в высказываниях ...
Я написал и для VBA и для StarBasic, мягко говоря немало. И мне есть что сравнивать.
Кстати, San никоем образом не "пыталась скопировать синтаксис VBSript".
OO.о (StarOffice в девичестве) создавала изначально фирма StartDivision затем пакет был куплен San Microsystems в 1999 г. Естественно, базовый язык называемый кстати StarBasic был разработан как вполне оригинальный клон Бэйсика без какой либо оглядки на VBScript. Сходство между ними это сходство языков семейства Basic не более...
OO.o позволяет писать макросы на многих языках (в том числе и на Python и на TCL и т.п.) По видимому затратив некоторые усилия и имея базовые представления о программировании на С, можно прикрутить к OO.o практически любой скриптовый язык. Кстати из WSH скрипта на JScript можно с успехом управлять приложениями MS Office. Только без крайней необходимости никто этого делать не будет. Ибо для неспецифических задач это просто неудобно. Как IMHO неудобно разрабатывать макросы в OO.o на языках отличных от SB. Впрочем, по сравнению с VBA и на SB крайне не удобно...
Конечно, можно, даже используя убогие имеющиеся средства конструктора форм,
а то и вовсе без них создать сложный интерфейс пользовательского приложения.
Но это сродни посроению макета корабля в пустой бутылке.
Что означают слова "Документация от Ms Script" в вашем посте мне непонятно.
Основная проблема программирования в том же Сalc - не отсутствие описания
самого языка. C ним, в общем то, всё понятно (на примитивном уровне конечно).
А отсутствие в поставке внятного HELP по объектной модели интегрированного
в среду разработки. Я уж не говорю о подсказках для методов и свойств.
И молчу о событийной модели. Конечно есть коммерческие и весьма не дешёвые
продукты которые отчасти решают эту проблему. Только это уже не OpenSource
и да же не FREEWARE
Что касается "ёмкости реального кода", то приведённые в посте выше cсылки на примеры IMHO говорят сами за себя. Я уж молчу об "прелестях" Java машины SAN по сравнению с интерпретатором P-кода VBA6.

3) О чём собственно идёт речь ? О функции возвращающей массив как в VBA ?
Или об изменении глобального массива из подпрограммы ? Или ещё о чём ?
Неплохо бы вам формулировать вопросы более точно.

Re: OpenOffice.Org макросы

Добавлено: 21 май 2009, 02:34
putin_ai
1. Не нужно про OpenOffice, у ментов четкие указания по поводу Microsoft и 1C. Именно эти две компании платят за проверки;
2. Я не фрилансер и уже лет 6 как не программирую. только вот так вот -- изучить что-то новое "для себя". Я техдир в средней компании (около 1500 сотрудников), и заявляю, что если увижу коллегу, который платит за Офис для девочек, для которых SUM() -- передовой инструмент, я буду считать этого коллегу больным. За фрилансеров всегда платим хорошо. Но вот серьезные вещи в Microsoft Office / OpenOffice не делаем. Это же игрушка! Сложные вещи всегда распределенные. Графики программисты лучше сделают в PHP/Perl, а для работы с большим объемом данных лучше всего SQL (MySQL/PostgreSQL, совсем сложные вещи требуют Oracle). Создавать реальный продукт в офисном документе -- без проверки прав доступа, без разделения полномочий :confused: Если уж на то пошло, то функции по работе с табличными данными в формах в 1С развиты куда лучше, чем в Офисах -- это просто их поле.
3. Sun Java -- а какие у него "прелести"? Все чудесно работает. Я люблю Java, планируем наш сайт сервлетами переписывать. Объектная модель одна из самых четких.
4. Примеры не говорят сами за себя. Все дело в определении переменных. Емкость кода аналогичная. VBScript и OO Basic идентичные языки и разницы ну практически нет. Объектная модель проявляется при написании скриптов на JavaScript или плагинов на Java.
5. Что не так в конструкторе форм? Все есть, кажется..
6. Help -- да, русскоязычный очень плохой, англоязычный получше. Но документация есть.
7. С массивами разобрался. Меня интересует: а есть ассоциативные массивы? А можно ли узнать количество строк в таблице, размещенной на листе в Calc, не перебирая её через Do While...Loop? А как кнопку или элемент формы на лист положить (не отдельной формой)? А как привязать макрос к событию на листе (изменение любой ячейки?

Re: OpenOffice.Org макросы

Добавлено: 21 май 2009, 14:00
Esgalin
putin_ai писал(а):Существует куча мифов по поводу OpenOffice.
..........
Тут автор поста кучу мифов рассказал:
2. "Макросы в OpenOffice сложнее"
Это чушь.
Емкость реального кода не отличается. Попробуйте писать сами и убедитесь (я это сделал).
3. Кто-нибудь знает, как вернуть результат в массиве? У меня, блин, не получается.

[UPD]
http://community.i-rs.ru/index.php/topic,3604.0.html
Гм. Исходя из пунктов 2 и 3 я бы рискнул предположить что по мнению автора не отличается сложность реального кода трехстрочных макросов. С которыми не вполне корректно говорить о разработке на VBA :) .

Мы оценивали возможность переноса нормальной управляющей надстройки (тысяч на 5 строк) с VBA на ОО.
- у бэйсика OO крайне примитивные возможности. Например:
http://wiki.services.openoffice.org/wiki/VBA
Уже скоро будет сделан массив массивов :)
- можно конечно все писать из основных языков (javascript), но трудоемкость.
Напишите к примеру: создать книгу, добавить 5к листов, разметить их
(шрифт\цвета), посчитать формулу.
- неустойчивый API. У пользователя постоянно надо смотреть, что за сборка, чья сборка.

В общем в плане альтернативы VBA (из за платности офиса), нам оказалось проще переделывать проект под SpreadsheetGear.